bonjour,

avec les lectures pour ma formation, je lis:
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.
de mon coté je test ceci:
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;
}
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.

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