he leído de la Wikipedia que:¿Una referencia no puede ser NULL o puede ser NULL?
“References cannot be null, whereas pointers can; every reference refers to some object, although it may or may not be valid.”
Pero no creen porque de aspecto siguiente código al que el compilador da ningún error:
class person
{
public:
virtual void setage()=0;
};
main()
{
person *object=NULL;
person &object1=*object;
}
Sírvanse explicar este punto.
El artículo debe probablemente diría: "Toda referencia en un programa bien formada se refiere a un objeto" Desreferenciando un puntero nulo es, por supuesto, mal formado. – GManNickG
Creo que lo que quería decir es 'person & object1 = object;', que de hecho le dará un error de compilación (tipos no coincidentes). –
Y no nos olvidemos de todo nuestra historia favorita sobre referencias nulas: http://www.gotw.ca/conv/002.htm – GManNickG