Bonjour,
prenons le code suivant:
je ne comprend pas ce qu'il se passe lors de l'appel à Adddum (avant-dernière ligne du code). Il y a création d'une temporaire non nommée je crois, mais y a-t-il une copie? Y a-t-il une fuite mémoire? Est-ce que quelqu'un en sait plus?
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
20
21
22
23 struct Dum { // des choses ici, mais disons que Dum est un type complexe (non POD) }; class Foo { public: void AddDum( Dum * d ) { dums.push_back(d); } private: vector<Dum*> dums; }; int main() { Foo foo; foo.AddDum( new Dum() ); // <----------------------------- ici // ... }
Partager