nullptr
A palavra-chave nullptr
especifica uma constante do ponteiro nulo do tipo std::nullptr_t
, que é conversível em qualquer tipo bruto de ponteiro. Embora você possa usar a palavra-chave nullptr
sem incluir nenhum cabeçalho, se o código dela usar o tipo std::nullptr_t
, você deverá defini-lo incluindo o cabeçalho <cstddef>
.
Observação
A palavra-chave nullptr
também é definida em C++/CLI para os aplicativos de código gerenciado e não é intercambiável com a palavra-chave do ISO Standard C++. Se seu código puder ser criado com a opção de compilador /clr
, que se destina ao código gerenciado, então use __nullptr
em qualquer linha do código onde você deva garantir que o compilador usará a interpretação do C++ nativo. Para obter mais informações, consulte (C++/CLI e C++/CX) nullptr
.
Comentários
Evite usar NULL
ou zero (0
) como constante do ponteiro nulo; nullptr
é menos vulnerável ao uso indevido e funciona melhor na maioria das situações. Por exemplo, com func(std::pair<const char *, double>)
, chamar func(std::make_pair(NULL, 3.14))
causa um erro do compilador. A macro NULL
expande para 0
, para que a chamada std::make_pair(0, 3.14)
retorne std::pair<int, double>
, que não é conversível para o tipo de parâmetro std::pair<const char *, double>
em func
. Chamar func(std::make_pair(nullptr, 3.14))
resulta em uma compilação bem-sucedida porque std::make_pair(nullptr, 3.14)
retorna std::pair<std::nullptr_t, double>
, que é convertido em std::pair<const char *, double>
.
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários