Hey,
Deze week ben ik begonnen met het lezen van een C++ tutorial (Thinking in C++, http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html). Toen ik over declarations en definitions van variabelen las kreeg ik het idee dat het geheugen pas toegewezen wordt op het moment dat de 'definition' gegeven wordt. De volgende pagina geeft aan dat mijn idee fout is: http://www.gnu.org/s/libc...ory-Allocation-and-C.html , stukje over 'static allocation'. Blijkbaar wordt het geheugen voor de variabelen tijdens het starten van je programma al toegewezen (anders zou Dynamic memory allocation met 'new' en 'delete' misschien ook niet bestaan).
-Maar hoe zit het dan met de definitie van variabelen in een if/else if/else statement? Wordt voor die variabelen tijdens de start van het programma ook geheugen toegewezen? Het programma kan tijdens het starten niet bepalen of die variabelen nodig zullen zijn dus ik neem aan dat ze voor de zekerheid wel toegewezen worden, ook al heb je ze misschien niet nodig?
-Variabelen kan je tijdens het uitvoeren van je programma dus alleen verwijderen (door bijvoorbeeld een scope te verlaten)?
Zou iemand me een toelichting kunnen geven of de punten die ik aanstipte goed zijn? Als je een willekeurige C++ tutorial doorleest dan wordt je eerst helemaal platgegooid met een heleboel informatie voordat je echt aan de slag kan. Het zou heel goed kunnen dat ik ergens een stukje wat mijn vraag beantwoord niet goed heb geinterpreteerd. Hopelijk kan iemand me de goede richting opwijzen
Alvast bedankt in dat geval.
mvg Bram
Deze week ben ik begonnen met het lezen van een C++ tutorial (Thinking in C++, http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html). Toen ik over declarations en definitions van variabelen las kreeg ik het idee dat het geheugen pas toegewezen wordt op het moment dat de 'definition' gegeven wordt. De volgende pagina geeft aan dat mijn idee fout is: http://www.gnu.org/s/libc...ory-Allocation-and-C.html , stukje over 'static allocation'. Blijkbaar wordt het geheugen voor de variabelen tijdens het starten van je programma al toegewezen (anders zou Dynamic memory allocation met 'new' en 'delete' misschien ook niet bestaan).
-Maar hoe zit het dan met de definitie van variabelen in een if/else if/else statement? Wordt voor die variabelen tijdens de start van het programma ook geheugen toegewezen? Het programma kan tijdens het starten niet bepalen of die variabelen nodig zullen zijn dus ik neem aan dat ze voor de zekerheid wel toegewezen worden, ook al heb je ze misschien niet nodig?
-Variabelen kan je tijdens het uitvoeren van je programma dus alleen verwijderen (door bijvoorbeeld een scope te verlaten)?
Zou iemand me een toelichting kunnen geven of de punten die ik aanstipte goed zijn? Als je een willekeurige C++ tutorial doorleest dan wordt je eerst helemaal platgegooid met een heleboel informatie voordat je echt aan de slag kan. Het zou heel goed kunnen dat ik ergens een stukje wat mijn vraag beantwoord niet goed heb geinterpreteerd. Hopelijk kan iemand me de goede richting opwijzen
mvg Bram