C++ · Intermediário · Português · Técnico
regra do zero
Princípio de projetar classes sem destrutor nem funções especiais escritas à mão, deixando o compilador gerá-las e delegando a posse a membros como vector, string e unique_ptr.
Onde usar
Em code review, é a alternativa preferida à regra dos cinco. A classe fica menor, correta por construção, e cópia e movimento seguem o comportamento dos membros.
Em código
class Perfil {
std::string nome_;
std::vector<int> notas_;
std::unique_ptr<Foto> foto_;
// nenhum destrutor ou cópia manual
};Exemplos
Usei vector e string como membros e segui a regra do zero: nada de destrutor.
A regra do zero deixa a classe menor e sem bugs de gerenciamento de recurso.
Cuidado
Só vale se cada membro já cuida de si: um ponteiro bruto como membro quebra a premissa.
Sinônimos
rule of zero
Antônimos
regra dos cinco