Bonjour,

prenons le code suivant:
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
   // ...
}
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?