PDA

Visualizza la versione completa : [C++]costruttore di copia


markplaces
13-01-2014, 17:21
Ciao a tutti,
avrei dei dubbi riguardo l'uso del costruttore di copia in c++,
Quando posso utilizzare il costruttore di copia e quando non?
ci sono casi particolare in cui obbligatorio l'uso del costruttore di copia e casi in cui non si deve/pu non usare??
HELP!:dh::dh::dh::dh::dh::dh:

lovesemiramide
13-01-2014, 19:35
Il costruttore di copia si pu usare sempre tranne quando "deletato" cio nella dichiarazione della classe vi scritto qualcosa del genere:


Foo(const Foo&) = delete;


Se non espliciti un costruttore di copia, questo viene creato automaticamente dal compilatore(proprio come il costruttore) e si limita a fare una copia bit a bit degli attributi. Questo, in alcuni casi come con l'uso di raw pointers, pu portare a errori.

Comunque ti consiglio di leggerti questo (http://en.wikipedia.org/wiki/Rule_of_three_(C%2B%2B_programming)) per approfondimenti.

Loading