Ik heb een specifiek vraagje omtrent het doorgeven van argumenten in C++.
Neem een algemeen object obj van een klasse Object.
stel nu dat je een functie oproept als volgt:
functie(obj);
Wat komt er dan precies op de stack?
Gaat 'm dan een kopie van het hele object op de stack smijten?
Ik dacht dat 'm dan ook gewoon een pointer op de stack zette?
Maar waarom zou je dan nog pointers of reference types gebruiken als je objecten doorgeeft?
Wat ik dus graag zou weten: wat komt er op de stack bij bovenstaande functieaanroep?
Ik dacht dat er automatisch pass by reference gebeurde als je een object doorgaf aan een functie?
En als ik het goed begrijp maakt het niet echt een verschil als je pointers
gebruikt om objecten door te geven of reference types?
Reference types zijn gewoon de C++ manier om met pointers te werken right?
Achter de schermen komt het ongeveer op hetzelfde neer hé?
Edit: Misschien is de titel van deze thread toch niet helemaal toepasselijk
.
Neem een algemeen object obj van een klasse Object.
stel nu dat je een functie oproept als volgt:
functie(obj);
Wat komt er dan precies op de stack?
Gaat 'm dan een kopie van het hele object op de stack smijten?
Ik dacht dat 'm dan ook gewoon een pointer op de stack zette?
Maar waarom zou je dan nog pointers of reference types gebruiken als je objecten doorgeeft?
Wat ik dus graag zou weten: wat komt er op de stack bij bovenstaande functieaanroep?
Ik dacht dat er automatisch pass by reference gebeurde als je een object doorgaf aan een functie?
En als ik het goed begrijp maakt het niet echt een verschil als je pointers
gebruikt om objecten door te geven of reference types?
Reference types zijn gewoon de C++ manier om met pointers te werken right?
Achter de schermen komt het ongeveer op hetzelfde neer hé?
Edit: Misschien is de titel van deze thread toch niet helemaal toepasselijk
[ Voor 13% gewijzigd door DieterVDW op 27-12-2003 20:42 ]