Nullptr

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 15. maj 2022; checks kræver 3 redigeringer .

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

Noter

  1. Lektion #81. Nul pointer . https://ravesli.com (Opdateret 31. december 2019).
  2. Renzo. Ti C++11-funktioner, som enhver C++-udvikler bør bruge . habr (11. juni 2013). Hentet 10. januar 2020. Arkiveret fra originalen 2. april 2022.