nullptr es una palabra clave introducida en C++11 para describir una constante de puntero nulo. Su tipo es std::nullptr_t.
nullptr es una constante de valor r [1] .
Antes de la introducción de nullptr, la macro NULL con el valor 0, un tipo de número entero, se usaba para anular punteros. Esto causaba problemas (por ejemplo, al sobrecargar funciones). El tipo nullptr es std::nullptr_t, que resuelve estos problemas. Hay conversiones implícitas de nullptr a cualquier tipo de puntero nulo ya bool (con el valor false), pero no a tipos integrales [2] .
Para compatibilidad con versiones anteriores, 0también se puede usar una constante como un puntero nulo.
foo vacío ( char * ); foo vacío ( int ); char * pc = nullptr ; // verdadero int * pi = nullptr ; // verdadero bool b = nullptr ; // Correcto. b=falso. int i = nullptr ; // error foo ( nullptr ); // llama a foo(char *), no a foo(int);