Используйте правила пяти или нуля
Используйте правило нуля или реализуйте полную семантику копирования и перемещения для класса (правило пяти)
Компилятор может неявно создавать следующие специальные функции в классах:
- Конструктор по-умолчанию
- Конструктор копирования
- Конструктор перемещения
- Копирующий оператор присваивания
- Перемещающий оператор присваивания
- Деструктор
Избегайте написания этих функций, если это возможно для ваших классов (правило нуля). В противном случае, вы должны написать все эти функции (правило пяти).