nullptr

La nullptr parola chiave specifica una costante puntatore Null di tipo std::nullptr_t, che è convertibile in qualsiasi tipo di puntatore non elaborato. Sebbene sia possibile usare la parola chiave nullptr senza includere intestazioni, se il codice usa il tipo std::nullptr_t, è necessario definirlo includendo l'intestazione <cstddef>.

Nota

La nullptr parola chiave è definita anche in C++/CLI per le applicazioni con codice gestito e non è intercambiabile con la parola chiave C++ standard ISO. Se il codice può essere compilato usando l'opzione del /clr compilatore, destinata al codice gestito, usare __nullptr in qualsiasi riga di codice in cui è necessario garantire che il compilatore usi l'interpretazione C++ nativa. Per altre informazioni, vedere nullptr (C++/CLI e C++/CX).

Osservazioni:

Evitare di usare NULL o zero (0) come costante puntatore Null; nullptr è meno vulnerabile all'uso improprio e funziona meglio nella maggior parte delle situazioni. Ad esempio, assegnando func(std::pair<const char *, double>), quindi chiamando func(std::make_pair(NULL, 3.14)) genera un errore di compilazione. La macro NULL si espande in 0in modo che la chiamata std::make_pair(0, 3.14) restituisca std::pair<int, double>, che non è convertibile nel std::pair<const char *, double> tipo di parametro in func. func(std::make_pair(nullptr, 3.14)) chiamante viene compilato correttamente perché std::make_pair(nullptr, 3.14) restituisce std::pair<std::nullptr_t, double>, che è convertibile in std::pair<const char *, double>.

Vedi anche

Parole chiave
nullptr (C++/CLI e C++/CX)