Ok, een behoorlijke noob vraag van mij.
In C++ kun je gealloceerde data die je hebt aangemaakt met 'new' deleten met de functie 'delete'. Delete gooit dan de pointer weg.
Heeft dit hetzelfde effect als 'pointer = NULL'?
In code:
Is dat equivalent met:
Deze vraag komt voort uit mijn huidige programmeerbezigheid. Ik heb een grote structuur opgebouwd in het geheugen en die wil ik weer weggooien. Maar volgens mij maakt de compiler geen verschil tussen 'delete' en 'delete []', waardoor ik soms de pointers van een hele array weggooi terwijl ik nog niet klaar ben met die array. Die dingen NULL maken schijnt te werken, maar nu wil ik dus even weten of het ook echt hetzelfde effect heeft --> geheugen vrij maken.
In C++ kun je gealloceerde data die je hebt aangemaakt met 'new' deleten met de functie 'delete'. Delete gooit dan de pointer weg.
Heeft dit hetzelfde effect als 'pointer = NULL'?
In code:
C++:
1
2
| myType * blaat = new myType; delete blaat; |
Is dat equivalent met:
C++:
1
2
| myType * blaat = new myType; blaat = NULL; |
Deze vraag komt voort uit mijn huidige programmeerbezigheid. Ik heb een grote structuur opgebouwd in het geheugen en die wil ik weer weggooien. Maar volgens mij maakt de compiler geen verschil tussen 'delete' en 'delete []', waardoor ik soms de pointers van een hele array weggooi terwijl ik nog niet klaar ben met die array. Die dingen NULL maken schijnt te werken, maar nu wil ik dus even weten of het ook echt hetzelfde effect heeft --> geheugen vrij maken.