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 0
in 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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per