Bonjour,
Je voudrais savoir si ce code génère un memory leak à l'appel du constructeur par recopie.
Je suis en train de faire un adapter pour utiliser des struct d'une lib C
mon objet de la lib C
Code :
- struct model{
- int toto;
- int tata;
- };
- model * hello(...){
- return new model(); // oui je sais c'est pas new mais malloc, mais c'est pas le pb ici :p
- }
|
mon adapter C++
Code :
- class MyModel : public MyInterface, public model{
- public:
- MyModel(model & aModel):model(aModel),MyInterface(){}
- };
|
et enfin l'appel
Code :
- MyModel * pMyModel = new MyModel(*hello()); // memory leak ?
|
En fait je me demande s'il y a un memory leak du fait que l'objet model est alloué dans la fonction hello.
Je pense qu'il y en a un car le constructeur par recopie par défaut doit recopier l'objet. Pourriez-vous me le confirmer ?
Message édité par Lan Wezel le 28-01-2010 à 17:37:56