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