правило 3

Правило трёх - правило в Cpp  , гласящее, что если класс или структура определяет один из следующих методов, то они должны явным образом определить все три метода:

Деструктор
Конструктор копирования
Оператор присваивания копированием

Это было актуально до выхода стандарта С11.

С выходом стандарта С11 смотрите правило 5.