Nullptr

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 15. května 2022; kontroly vyžadují 3 úpravy .

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);

Poznámky

  1. Lekce #81. Nulové ukazatele . https://ravesli.com (aktualizováno 31. prosince 2019).
  2. Renzo. Deset funkcí C++11, které by měl používat každý vývojář C++ . habr (11. června 2013). Získáno 10. ledna 2020. Archivováno z originálu dne 2. dubna 2022.