1 день назад
Идиома Copy-and-Swap в C++: Пишем безопасный оператор присваивания правильно
Поговорим об одной из интересных идиом в C++ — Copy-and-Swap. Если вы когда-нибудь писали класс, который управляет ресурсами (памятью, файлами или сокетами), вы наверняка сталкивались с головной болью под названием «перегрузка оператора присваивания». Хочется сделать его надежным, безопасным и не облажаться с исключениями. Copy-and-Swap — это элегантный способ решить эти проблемы раз и навсегда. Copy-and-Swap (или «копируй и обменяй») — это не просто трюк, а настоящий джентльменский набор для оператора operator=. Идея до безобразия проста: 1. Копируем — создаем временную копию объекта, который присваиваем...
C++(язык программирования)
C++ (читается си-плюс-плюс) — компилируемый, статически типизированный язык программирования общего назначения. Поддерживает такие парадигмы программирования, как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование. Язык имеет богатую стандартную библиотеку, которая включает в себя распространённые контейнеры и алгоритмы, ввод-вывод, регулярные выражения, поддержку многопоточности и другие возможности. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков...