nullptr

La palabra clave nullptr especifica una constante de puntero nulo de tipo std::nullptr_t, que se puede convertir a cualquier tipo de puntero sin formato. Aunque puede usar la palabra clave nullptr sin incluir ningún encabezado, si el código usa el tipo std::nullptr_t, debe definirlo incluyendo el encabezado <cstddef>.

Nota:

La palabra clave nullptr también se define en C++/CLI para aplicaciones de código administrado y no es intercambiable con la palabra clave de C++ del estándar ISO. Si el código podría compilarse con la opción del compilador /clr, destinada a código administrado, use __nullptr en cualquier línea de código donde debe garantizar que el compilador usa la interpretación de C++ nativa. Para obtener más información, consulte nullptr (C++/CLI y C++/CX).

Comentarios

Evite usar NULL o cero (0) como constante de puntero nulo; nullptr es menos vulnerable en caso de mal uso y funciona mejor en la mayoría de las situaciones. Por ejemplo, dado func(std::pair<const char *, double>), la llamada a func(std::make_pair(NULL, 3.14)) produce un error del compilador. La macro NULL se expande a 0, de modo que la llamada std::make_pair(0, 3.14) devuelve std::pair<int, double>, que no se puede convertir al tipo de parámetro std::pair<const char *, double> de func. La llamada a func(std::make_pair(nullptr, 3.14)) se compila correctamente porque std::make_pair(nullptr, 3.14) devuelve std::pair<std::nullptr_t, double>, que se puede convertir en std::pair<const char *, double>.

Consulte también

Palabras clave
nullptr (C++/CLI y C++/CX)