Ich möchte sicherstellen, dass meine RAII-Klasse immer auf dem Stapel zugeordnet ist.Wie verhindere ich, dass eine Klasse über den "neuen" Operator zugewiesen wird? (Ich möchte sicherstellen, dass meine RAII-Klasse immer auf dem Stapel zugeordnet ist.)
Wie verhindere ich, dass eine Klasse über den 'neuen' Operator zugewiesen wird?
Ein weiterer Punkt ist, dass dies nur stoppt, wenn "neu" von außerhalb der Klassenhierarchie aufgerufen wird. dh.Es ist möglich, dass ein Mitglied von 'X' die Funktion aufruft. Das neue C++ '0x-Feature "= delete" ermöglicht es Ihnen, explizit zu verhindern, dass die Funktion jemals aufgerufen wird. –
Richard, nein, diese Methoden können niemals aufgerufen werden, da sie nur deklariert, aber nicht definiert sind. Der Unterschied besteht darin, dass der private Zugriff eher einen Linker-Fehler als einen Compiler-Fehler ergibt. –
Das verhindert nicht 'X * x = :: new X;', was explizit den globalen Operator new aufruft, nicht den Klassenoperator new ... –