Hoi allemaal,
Even puur voor mijn eigen informatie, stel je hebt een class die enkel uit statische variabelen en functies bestaat. Echter, de variabelen declareer je als pointer en in een functie waarin dingen worden geinitialiseerd (maar wat dus geen constructor is) maak je hier pointer classes van m.b.v. van "new".
Hoe zit het dan als het programma wordt afgesloten? Wordt bij het afsluiten ook de destructor aangeroepen (ik vraag me dat af omdat het dus geheel statisch is) van die betreffende class en kun je daarin de pointers weer vrijgeven of moet dit anders worden gedaan?
Even wat code ter verduidelijking:
Stel, A::initialize () wordt ergens in het programma aangeroepen, wat gebeurt er bij het afsluiten van het programma?
Even puur voor mijn eigen informatie, stel je hebt een class die enkel uit statische variabelen en functies bestaat. Echter, de variabelen declareer je als pointer en in een functie waarin dingen worden geinitialiseerd (maar wat dus geen constructor is) maak je hier pointer classes van m.b.v. van "new".
Hoe zit het dan als het programma wordt afgesloten? Wordt bij het afsluiten ook de destructor aangeroepen (ik vraag me dat af omdat het dus geheel statisch is) van die betreffende class en kun je daarin de pointers weer vrijgeven of moet dit anders worden gedaan?
Even wat code ter verduidelijking:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| class A { public: static initialize (); private: static int * id; }; int * A::id; A::initialize () { id = new int; } |
Stel, A::initialize () wordt ergens in het programma aangeroepen, wat gebeurt er bij het afsluiten van het programma?