Consultez le code suivant:Est-ce que get() est fiable quand un auto_ptr n'est pas initialisé?
std::auto_ptr<std::string> p;
if (p.get() == 0) {
...
}
est la fonction de membre get()
manière standard et fiable pour vérifier que p
n'a pas été initialisé? Va-t-il toujours renvoyer 0, indépendamment de la plate-forme, du compilateur, des indicateurs d'optimisation du compilateur, etc.?
Dans cet exemple, 'auto_ptr' est * non *" non initialisé ". Le constructeur par défaut initialise le pointeur sur un pointeur NULL. –