Bonjour,
J'ai une question qui me taraude, je voudrais savoir exactement ce qui se passe lors de l'instanciation d'une classe. Je vais donner quelques exemples.
Lors de la construction de m2, que se passe-t-il exactement?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 class MyClass{ public: int a; std::vector<int> * pVec; } void fonction { // Je joue avec m1 MyClass m1; // Appel au constructeur MyClass(); m1.a = 43; m1.pVec = new std::vector<int>(1); (*m1.pVec)[0] = 314; // Je crée m2 MyClass m2 = m1; }
- Y a-t-il appel au constructeur implicit"? Suivi d'une (miraculeuse) copie de chacun des attributs?
- Ou alors, est-ce qu'il y a une allocation mémoire de la bonne taille, suivi d'une copie (aveugle) bit à bit des données?
- Autre chose?
Si vous avez un lien, je suis preneur, Google n'a pas été trop mon ami sur ce coup là...
Merci d'avance!
Partager