nullptr
Elija una constante de puntero null std::nullptr_ttipo, que se puede convertir a cualquier tipo de puntero sin formato.Aunque puede utilizar la palabra clave nullptr sin incluir ningún encabezados, si el código utiliza 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 se puede cambiar con la palabra clave de C++ del estándar ISO.Si el código pueda compilar mediante la opción del compilador /clr , destinado a código administrado, el uso __nullptr en cualquier línea de código donde debe garantizar que el compilador utiliza la interpretación de C++ nativa.Para obtener más información, vea nullptr.
Comentarios
Evite utilizar NULL o pasa a cero (0) como constante de puntero null; nullptr es menos vulnerable emplear mal y funciona mejor en la mayoría de las situaciones.Por ejemplo, dada func(std::pair<const char *, double>), llamar 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 funcional std::pair<const char *, double> de s.De la llamada func(std::make_pair(nullptr, 3.14)) 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>.