EC++: inizializzazione nel ctor

Appunti tratti dalla rilettura di Effective C++ di Scott Meyers. Terzo blocco: Costruttori, distruttori e operatori di assegnamento.

(12) Nel costruttore si preferisce inizializzare ad assegnare.

Per assegnare i valori passati nel costruttore alle variabili membro si possono usare due approcci, l'inizializzazione e l'assegnamento:

// ...
int _x;
int* _px;

// initializing
A(int x, int* px) : _x(x), _px(px) {
}

// assigning
A(int x, int* px) {
_x = x;
_px = px;
}


Nel caso di variabili membro che siano const o referenze non c'é da scegliere: possono solo essere inizializzate.

Ma anche nel caso generale, come quello in esempio, si preferisce l'inizializzazione perché spesso più efficiente.

Nessun commento:

Posta un commento