Ho letto da Wikipedia che:Un riferimento non può essere NULL o può essere NULL?
“References cannot be null, whereas pointers can; every reference refers to some object, although it may or may not be valid.”
Ma io non credo a causa del seguente codice di guardare a questo compilatore dà alcun errore:
class person
{
public:
virtual void setage()=0;
};
main()
{
person *object=NULL;
person &object1=*object;
}
Si prega di elaborare questo punto.
L'articolo dovrebbe probabilmente dire: "Ogni riferimento in un programma ben formato si riferisce a un oggetto" Il dereferenziamento di un puntatore nullo è ovviamente mal formato. – GManNickG
Penso che volevi dire 'persona & oggetto1 = oggetto;', che ti darà un errore nel compilatore (tipi non corrispondenti). –
E non dimentichiamo tutti la nostra storia preferita sui riferimenti null: http://www.gotw.ca/conv/002.htm – GManNickG