Українська
Підсумки
Висновки
Власник відповідає за одне завершення ресурсу. Копія та переміщення мають різні контракти джерела. RAII прив’язує очищення до життя об’єкта. Правило нуля відокремлює модель від ручного володіння.
Питання для самоперевірки
- Чим копія адреси відрізняється від копії значення?
- Коли викликається конструктор копіювання, а коли присвоєння?
- Чому std::move сам не переносить ресурс?
- Що обіцяє noexcept?
- Який стан дозволено очікувати від переміщеного string?
- Чому іменований параметр T&& є lvalue-виразом?
- Як copy-and-swap забезпечує строгу гарантію?
- Чим NRVO відрізняється від гарантованого усунення копії?
- Чому return std::move(local) може завадити NRVO?
- Які спеціальні функції охоплює правило п’яти?
- Коли копіювання слід явно видалити?
- Чому guard не повинен жити довше за захищений стан?
- Як перевірити самопереміщення?
- Чому порожній буфер потребує окремої гілки?
- Які властивості не доводить звичайний assert-тест?