nullptr er et nøgleord introduceret i C++11 for at beskrive en nulpointerkonstant. Hendes type er std::nullptr_t.
nullptr er en r-værdi [1] konstant .
Før introduktionen af nullptr blev NULL -makroen med værdien 0, en heltalstype, brugt til at annullere pointere. Dette gav problemer (for eksempel ved overbelastning af funktioner). Nullptr-typen er std::nullptr_t, som løser disse problemer. Der er implicitte konverteringer fra nullptr til enhver type null-pointer og til bool (med værdien false), men ikke til integraltyper [2] .
For bagudkompatibilitet kan en konstant 0også bruges som en nul-pointer.
void foo ( char * ); void foo ( int ); char * pc = nullptr ; // true int * pi = nullptr ; // true bool b = nullptr ; // ret. b=falsk. int i = nullptr ; // fejl foo ( nullptr ); // kalder foo(char *), ikke foo(int);