Beşli kuralı
Bir sınıfın kendi yıkıcısına ihtiyacı varsa, neredeyse kesinlikle kendi kopyalama kurucusuna, kopyalama atamasına ve C++11'den beri taşıma kurucusu ile taşıma atamasına da ihtiyacı vardır.
Mantık basit: bunlardan birine ihtiyaç duymak sınıfın bir kaynağı yönettiği anlamına gelir; derleyicinin diğerleri için ürettiği varsayılan sürümler ise yanlış davranır. Bir göstericiyi yüzeysel kopyalar, iki nesne aynı belleğin sahibi olduğunu sanır ve bellek iki kez serbest bırakılır. Kural başlangıçta üçlü kuralıydı ve yıkıcıyı, kopyalama kurucusunu ve kopyalama atamasını kapsıyordu. C++11 iki taşıma işlemini ekledi, yanında da nahoş bir tuzak getirdi: yalnızca yıkıcı bildirmek bile örtük taşıma işlemlerinin üretilmesini engeller. Eski üçlü kurala uyan bir sınıf bu yüzden taşıması gereken yerde sessizce kopyalar; sonuç doğrudur ama ölçülebilir biçimde yavaştır ve gözden kaçması kolaydır.