Bonjour � tous.
Voici un petit code un peu tordu:
La grande question que je me demande, c'est la correction de ce code.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 class A { A* ma; public: ~A(){delete ma;} A(A* a):ma(a){} void foo(A* a){delete a;} void bar(){ma->foo(this);} }; int main(int argc, char const *argv[]) { (new A(new A(0)))->bar(); return 0; }
En effet, apr�s la destruction de l'objet qui appelle bar, il y a retour � lui mais il n'existe plus, c'est plut�t probl�matique.
le code ne plante pas chez moi, mais ce n'est pas une preuve. Je pense que ca ne plante pas car je ne manipule pas de donn�es membres, mais je n'en suis pas s�r.
Quelqu'un pour confirmer ?
Merci.
David C�me.