Bonjour a tous
je suis entrains de me remettre au C++, j'ai encore de bon reste mais j'ai perdu mes reflexs pour comprendre d'ou viennent les erreurs.

En voici une que je comprend pas ^^:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Point *p3 = new Point(3,4);
 cout << "ADRESS OF P3: " << &p3 << " value: " << p3->getX() << endl ;
 delete p3; //not forget to free pointed memory
cout << "ADRESS OF P3: " << &p3 << " value: " << p3->getX() << endl ;
En sortie:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
int Point::getX()
ADRESS OF P3: 0xbffff738 value: 3
Point::~Point()
int Point::getX()
ADRESS OF P3: 0xbffff738 value: 3
Ce que je comprend pas c'est que apres le delete de p3 je puisses encor acceder au valeur pointer par p3.

Quelqu'un peut m'expliquer?



Aussi, autre question getsion de memoire, si je creer une variable
Point p = new point(1,2); je ne peux pas faire delete p.
Est ce qu'il existe un moyen pour liberer la memoire quand je veus ou est ce que j'attend la fin du bloc?

cordialement

jason