Regola dello zero
La risposta migliore alla regola del cinque: progettare le classi in modo che non abbiano bisogno di nessuno dei cinque.
Si lascia che ogni risorsa sia posseduta da un tipo che già la gestisce correttamente — unique_ptr per un puntatore, vector per un buffer, string per il testo, fstream per un file — e il distruttore, le copie e gli spostamenti generati dal compilatore risultano giusti da soli, perché inoltrano semplicemente il lavoro ai membri. Ne consegue che la regola del cinque riguarda solo i pochi tipi che implementano davvero la gestione delle risorse, mentre il resto del codice non dichiara nulla. La regola fu formulata da R. Martinho Fernandes nel 2012. Un corollario utile: una classe che ha scritto = default su tutti e cinque è di solito il segno che qualcuno ha applicato la regola del cinque dove sarebbe bastata quella dello zero.