MEC++: Puntatori vs riferimenti

Appunti tratti dalla rilettura di More Effective C++ di Scott Meyers. Primo blocco: Fondamentali.

(1) Puntatori e riferimenti

Puntatori e riferimenti (reference) appaiono diversi ma fanno cose molto molto simili. Le differenze fondamentali sono:

Un puntatore può assumere valore NULL ma non si può fare niente di simile con un riferimento.

Un riferimento deve riferirsi a un oggetto. Non é possibile creare un riferimento senza inizializzarlo.

Dato che un riferimento é per definizione associato ad un oggetto, non c'é la necessità di verificare che sia valido - per i puntatori é generalmente opportuno controllare che non sia NULL prima di utilizzarlo.

Un puntatore può puntare a differenti oggetti nel corso della sua vita, un riferimento é vincolato all'oggetto con cui viene inizializzato.

Nessun commento:

Posta un commento