Rendre une référence vers une instance créé ds un méthode - C++ - Programmation
Marsh Posté le 17-12-2002 à 17:02:50
Ben oui, parce que ma référence "MaClasse* inst" ne veut lpus rien dire au moment du return, non ?
Marsh Posté le 17-12-2002 à 17:05:57
MaClasse* inst = new MaClasse();
alloc dynamique, reste vivante jusqu'à ce que tu la delete
MaClasse inst;
alloc sur la pile, reste vivante jusqu'à la sortie de la fonction
donc ton code est correct.
Marsh Posté le 17-12-2002 à 17:07:43
youdontcare a écrit : MaClasse* inst = new MaClasse(); |
Je sais que mon instance créée par new MaClasse() reste valide, mais je pensais que je perdait le pointeur vers cette instance au moment du return (que inst pointait vers n'importe quoi...)
Marsh Posté le 17-12-2002 à 17:11:24
l'objet reste vivant, la variable inst qui contient la valeur pointant vers l'objet est détruite en sortie (elle est locale).
Marsh Posté le 17-12-2002 à 17:19:33
youdontcare a écrit : l'objet reste vivant, la variable inst qui contient la valeur pointant vers l'objet est détruite en sortie (elle est locale). |
Non, c rien, je plane, laisses tomber !
Merci
Marsh Posté le 17-12-2002 à 16:59:56
A force d'alterner Java et C++, j'm'y perds moi.
Comme faire ça en C++ (une espèce de méthode factory) :
Message édité par El_gringo le 17-12-2002 à 17:00:08