Welche C ++ 0x-Header sollen nullptr definieren?

8

Nun, da C ++ 0x fast schon da ist, habe ich damit experimentiert und insbesondere mit nullptr. Ich konnte nicht herausfinden, welche Standard-Header-Dateien man enthalten sollte, wenn man sie verwenden muss.

Jede Hilfe ist willkommen.

    
swestrup 05.04.2011, 05:37
quelle

1 Antwort

20

Es sollten keine Header benötigt werden. Es ist ein eingebautes Schlüsselwort (§ [lex.nullptr]).

  

2.14.7 Zeigerliterale [lex.nullptr]

     
    

Zeiger-Literal:
     nullptr

  
     

Das Zeigerliteral ist das Schlüsselwort   %Code%. Es ist ein Prvalue des Typs   %Code%. [ Hinweis: nullptr   ist ein eindeutiger Typ, der weder a   Zeigertyp noch ein Zeiger auf Mitglied   Art; eher ein Prvalue dieses Typs   ist eine Nullzeigerkonstante und kann sein   konvertiert in einen Nullzeigerwert oder   Nullelement-Zeigerwert Siehe 4.10   und 4.11. -endnote ]

Sein Typ std::nullptr_t ist jedoch im Header std::nullptr_t (§ [support.types] / 9) "definiert".

  

std::nullptr_t ist wie folgt definiert:

%Vor%      

Der Typ, für den <cstddef> ein Synonym ist, hat die in 3.9.1 und 4.10 beschriebenen Merkmale. [ Hinweis : Obwohl die Adresse von nullptr_t nicht übernommen werden kann, kann die Adresse eines anderen nullptr_t -Objekts, das ein Lvalue ist, verwendet werden. -endnote ]

    
kennytm 05.04.2011, 05:38
quelle

Tags und Links