ExpertiDict

C++ · Essencial · Inglês · Técnico

nullptr

ˈnʌlˌpiːˌtiːˈɑːrpalavra-chave

Literal do C++11 que representa um ponteiro nulo com tipo próprio, std::nullptr_t. Substitui NULL e o número 0 em ponteiros, evitando ambiguidades na sobrecarga de funções.

Onde usar

Em um code review, trocar NULL por nullptr é um ajuste comum. Ele faz a chamada f(nullptr) escolher a sobrecarga de ponteiro em vez da de inteiro.

Em código

void f(int) {}
void f(char*) {}
f(nullptr);  // chama f(char*)
// f(NULL) depende da implementação

Exemplos

Always initialize raw pointers with nullptr.

Sempre inicialize ponteiros brutos com nullptr.

The compiler picked the int overload because someone used NULL.

O compilador escolheu a sobrecarga de int porque alguém usou NULL.

Cuidado

Não use NULL ou 0 para ponteiros em código moderno, pois ambos são inteiros e podem escolher a sobrecarga errada.

Antônimos

NULL

Veja também

Todos os termos de C++