Betrachten Sie den folgenden Code ein:Ist get() zuverlässig, wenn ein auto_ptr nicht initialisiert ist?
std::auto_ptr<std::string> p;
if (p.get() == 0) {
...
}
Ist get()
Memberfunktion eine Standard- und zuverlässige Art und Weise zu überprüfen, dass p
nicht initialisiert wurde? Wird es immer 0 zurückgeben, unabhängig von der Plattform, dem Compiler, den Optimierungs-Flags des Compilers usw.?
In diesem Beispiel ist 'auto_ptr' * nicht *" nicht initialisiert ". Der Standardkonstruktor initialisiert den Zeiger auf einen Nullzeiger. –