bonjour,
avec les lectures pour ma formation, je lis:
de mon coté je test ceci:après utilisation, la zone mémoire définie à l'aide du mot clé new doit être libérée pour être rendu au système. Pour cela appelez le mot clé delete sur le pointeur.
delete supprime bien la mémoire réservé pour l'objet, mais le pointeur en lui même il existe toujours a l'adresse de stockage.
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 int main() { using namespace std; int variableLocale = 5; int * pLocal = &variableLocale; int * pTas = new int; *pTas = 7; cout << "VariableLocale : " << variableLocale << endl; cout << "*pLocal : " << *pLocal << endl; cout << "*pTas : " << *pTas << " => " << pTas << endl; delete pTas; pTas = new int; *pTas = 9; cout << "*pTas : " << *pTas << " => " << pTas << endl; delete pTas; cout << "*pTas : " << *pTas << " => " << pTas << endl; return 0; }
la dernière sortie de flux : *pTas : 6164688 => 0x5e1058
est-il possible de le supprimé ou simplement de le rendre null avec *pPointeur = 0;
merci
Partager