Possible Duplicate:
What exactly is nullptr?Est-ce que nullptr n'est pas un mot-clé spécial et un objet de std :: nullptr_t?
J'ai d'abord pensé que c'était un mot-clé. Mon gcc actuel ne met pas en évidence nullptr
dans une nuance différente. Pour vérifier que, j'ai écrit ce qui suit:
void *&p = nullptr;
alors je suis un peu la moindre idée de l'erreur:
error: invalid initialization of non-const reference of type ‘void*&’ from an rvalue of type ‘std::nullptr_t’
Si nullptr
est un objet alors est-il vraiment un équivalent pointeur de simples 0
? En d'autres termes, supposons que j'écris:
#define NULL nullptr
L'instruction ci-dessus ne modifie rien dans mon code? Aussi, il serait intéressant de connaître d'autres cas d'utilisation pour le type std::nullptr_t
en tant que tel.
gcc ne highlight' pas ==> 'éditeur vim ne met pas en gcc' :) – iammilind
Votre gcc ne va pas "highlight"' nullptr'. gcc est un compilateur; la seule présentation du compilateur est l'erreur et les avertissements qui résultent de la compilation; J'espère qu'il n'y en a pas. C'est votre éditeur qui va mettre en évidence nullptr. Cela ne devrait pas être si surprenant que votre éditeur ne soit pas à la hauteur de la nouvelle norme car la nouvelle norme n'existe pas encore, du moins pas officiellement. C'est pourquoi il est encore appelé C++ 0x plutôt que C++ 11. –
Voir [Qu'est-ce que nullptr en C++ 0x?] (Http://stackoverflow.com/questions/1282295/what-exactly-is-nullptr-in-c0x/1282345#1282345). Certaines de vos questions y sont répondues. – eran