nullptr je klíčové slovo zavedené v C++11 k popisu konstanty nulového ukazatele. Její typ je std::nullptr_t.
nullptr je konstanta r-hodnoty [1] .
Před zavedením nullptr se k nulování ukazatelů používalo makro NULL s hodnotou 0, celočíselný typ. To způsobovalo problémy (například při přetěžování funkcí). Typ nullptr je std::nullptr_t, který řeší tyto problémy. Existují implicitní převody z nullptr na jakýkoli typ nulového ukazatele a na bool (s hodnotou false), ale ne na integrální typy [2] .
Pro zpětnou kompatibilitu lze konstantu 0použít také jako nulový ukazatel.
void foo ( char * ); void foo ( int ); char * pc = nullptr ; // true int * pi = nullptr ; // true bool b = nullptr ; // že jo. b=nepravda. int i = nullptr ; // chyba foo ( nullptr ); // volá foo(char *), ne foo(int);