Zasada zera
Lepsza odpowiedź na zasadę pięciu: projektuj klasy tak, by nie potrzebowały żadnej z pięciu funkcji.
Niech każdym zasobem zarządza typ, który robi to już poprawnie — unique_ptr dla wskaźnika, vector dla bufora, string dla tekstu, fstream dla pliku — a wygenerowany przez kompilator destruktor, kopiowanie i przenoszenie same wychodzą dobrze, bo po prostu przekazują pracę składowym. W efekcie zasada pięciu dotyczy tylko garstki typów, które faktycznie implementują zarządzanie zasobami, a reszta kodu nie deklaruje niczego. Zasadę sformułował R. Martinho Fernandes w 2012 roku. Pożyteczny wniosek: klasa z = default przy wszystkich pięciu to zwykle znak, że ktoś zastosował zasadę pięciu tam, gdzie wystarczyłaby zasada zera.