Telegram Group & Telegram Channel
🧡 RAII β€” Π³Π»Π°Π²Π½Ρ‹ΠΉ сСкрСт устойчивого ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌ C++ ΠΊΠΎΠ΄Π°

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! БСгодня Ρ…ΠΎΡ‡Ρƒ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ΅, Π±Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ бСзопасный ΠΈ устойчивый C++ ΠΊΠΎΠ΄ β€” это RAII (Resource Acquisition Is Initialization).

RAII β€” это ΠΈΠ΄ΠΈΠΎΠΌΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Ρ…Π²Π°Ρ‚ рСсурса (Ρ„Π°ΠΉΠ», сокСт, ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ) происходит Π² конструкторС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° освобоТдСниС β€” Π² дСструкторС. Благодаря этому рСсурсы ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ автоматичСски, Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


#include <fstream>

void saveData(const std::string& filename) {
std::ofstream file(filename); // ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°
if (!file.is_open())
throw std::runtime_error("Cannot open file");

file << "some data"; // Ρ„Π°ΠΉΠ» закроСтся автоматичСски
}


RAII Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄:
βœ… БСзопасным ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌ
βœ… Устойчивым ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌ
βœ… Π›Ρ‘Π³ΠΊΠΈΠΌ для чтСния ΠΈ сопровоТдСния

πŸ’‘ Π‘ΠΎΠ²Π΅Ρ‚: всСгда ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΠΉ "Ρ€ΡƒΡ‡Π½Ρ‹Π΅" рСсурсы Π² ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ β€” std::unique_ptr, std::lock_guard, std::ofstream, std::thread ΠΈ Ρ‚.Π΄.


➑️ @cpp_geek



tg-me.com/cpp_geek/295
Create:
Last Update:

🧡 RAII β€” Π³Π»Π°Π²Π½Ρ‹ΠΉ сСкрСт устойчивого ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌ C++ ΠΊΠΎΠ΄Π°

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! БСгодня Ρ…ΠΎΡ‡Ρƒ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ΅, Π±Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ бСзопасный ΠΈ устойчивый C++ ΠΊΠΎΠ΄ β€” это RAII (Resource Acquisition Is Initialization).

RAII β€” это ΠΈΠ΄ΠΈΠΎΠΌΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Ρ…Π²Π°Ρ‚ рСсурса (Ρ„Π°ΠΉΠ», сокСт, ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ) происходит Π² конструкторС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° освобоТдСниС β€” Π² дСструкторС. Благодаря этому рСсурсы ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ автоматичСски, Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


#include <fstream>

void saveData(const std::string& filename) {
std::ofstream file(filename); // ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°
if (!file.is_open())
throw std::runtime_error("Cannot open file");

file << "some data"; // Ρ„Π°ΠΉΠ» закроСтся автоматичСски
}


RAII Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄:
βœ… БСзопасным ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌ
βœ… Устойчивым ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌ
βœ… Π›Ρ‘Π³ΠΊΠΈΠΌ для чтСния ΠΈ сопровоТдСния

πŸ’‘ Π‘ΠΎΠ²Π΅Ρ‚: всСгда ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΠΉ "Ρ€ΡƒΡ‡Π½Ρ‹Π΅" рСсурсы Π² ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ β€” std::unique_ptr, std::lock_guard, std::ofstream, std::thread ΠΈ Ρ‚.Π΄.


➑️ @cpp_geek

BY C++ geek




Share with your friend now:
tg-me.com/cpp_geek/295

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

How Does Telegram Make Money?

Telegram is a free app and runs on donations. According to a blog on the telegram: We believe in fast and secure messaging that is also 100% free. Pavel Durov, who shares our vision, supplied Telegram with a generous donation, so we have quite enough money for the time being. If Telegram runs out, we will introduce non-essential paid options to support the infrastructure and finance developer salaries. But making profits will never be an end-goal for Telegram.

Unlimited members in Telegram group now

Telegram has made it easier for its users to communicate, as it has introduced a feature that allows more than 200,000 users in a group chat. However, if the users in a group chat move past 200,000, it changes into "Broadcast Group", but the feature comes with a restriction. Groups with close to 200k members can be converted to a Broadcast Group that allows unlimited members. Only admins can post in Broadcast Groups, but everyone can read along and participate in group Voice Chats," Telegram added.

telegram from ru


Telegram C++ geek
FROM USA