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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de