ExpertiDict

C++ · Intermediário · Português · Técnico

regra do zero

ˈʁɛɡɾɐ du ˈzɛɾulocução nominal

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

Veja também

Todos os termos de C++