nullptr
Legt eine NULL-Zeiger-Konstante des Typs std::nullptr_t fest, der zu einem unformatierten Zeigertyp konvertiert werden kann.Obwohl das - Schlüsselwort nullptr verwenden können, ohne Header enthalten soll, wenn der Code den Typ std::nullptr_t verwendet, müssen Sie ihn definieren, indem Sie den Header <cstddef> enthalten.
Hinweis |
---|
Das nullptr-Schlüsselwort wird auch in C++/CLI für verwaltete Anwendungen mit verwaltetem Code definiert und ist nicht mit dem ISO-Standard-C++-Schlüsselwort austauschbar.Wenn der Code möglicherweise kompiliert wird, indem die /clr-Compileroption verwendet, die Ziele verwalteter Code, dann anhand __nullptr in einer Codezeile, in der Sie sicherstellen müssen, dass der Compiler die systemeigene C++-Interpretation verwendet.Weitere Informationen finden Sie unter nullptr. |
Hinweise
Vermeiden der Verwendung NULL oder erstellen Sie (0) als NULL-Zeiger-Konstante auf Null ein; nullptr ist weniger anfällig nicht missbrauchen und funktioniert besser in den meisten Situationen.Beispielsweise func(std::pair<const char *, double>) angegeben, dann aufrufen func(std::make_pair(NULL, 3.14)) verursacht einen Compilerfehler.Die Makro-NULL erweitert zu 0, damit der Aufruf std::make_pair(0, 3.14)std::pair<int, double> zurückgibt, der nicht zum std::pair<const char *, double>-Parametertyp von func()' konvertiert werden kann.func(std::make_pair(nullptr, 3.14)) dazu, kompiliert erfolgreich, da std::make_pair(nullptr, 3.14)std::pair<std::nullptr_t, double> zurückgibt, das zu std::pair<const char *, double> konvertiert werden kann.