Punto nulo

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 15 de mayo de 2022; las comprobaciones requieren 3 ediciones .

nullptr  es una palabra clave introducida en C++11 para describir una constante de puntero nulo. Su tipo es std::nullptr_t.

nullptr es una constante de valor r [1] .

Antes de la introducción de nullptr, la macro NULL con el valor 0, un tipo de número entero, se usaba para anular punteros. Esto causaba problemas (por ejemplo, al sobrecargar funciones). El tipo nullptr es std::nullptr_t, que resuelve estos problemas. Hay conversiones implícitas de nullptr a cualquier tipo de puntero nulo ya bool (con el valor false), pero no a tipos integrales [2] .

Para compatibilidad con versiones anteriores, 0también se puede usar una constante como un puntero nulo.

foo vacío ( char * ); foo vacío ( int ); char * pc = nullptr ; // verdadero int * pi = nullptr ; // verdadero bool b = nullptr ; // Correcto. b=falso. int i = nullptr ; // error foo ( nullptr ); // llama a foo(char *), no a foo(int);

Notas

  1. Lección #81. Punteros nulos . https://ravesli.com (Actualizado el 31 de diciembre de 2019).
  2. Renzo. Diez características de C++11 que todo desarrollador de C++ debería usar . hab (11 de junio de 2013). Consultado el 10 de enero de 2020. Archivado desde el original el 2 de abril de 2022.