Archief - [PROG][c++] pointers...

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

passero

Legacy Member
Ik heb een klein vraagje ivm pointers. Ik heb de vraag doorgespeeld gekregen van iemand anders maar helaas kan ik er niet direct op antwoorden aangezien ik eigenlijk nooit veel kaas gegeten heb van pointers. Misschien kan hier iemand me helpen...

Wat verwacht je van dit statement:
var &*

Geeft dit het adres van de waarde van een pointer wat eigenlijk de pointer dan zelf is en dus beide elkaar opheffen of hoe moeten we dat interpreteren?

Tyfius

Legacy Member
Undefined behavior, en eigenlijk een error.
C++ Standard - 8.32-3 zei:
It is unspecified whether or not a reference requires storage
C++ Standard - 8.32-4 zei:
There shall be no references to references, no arrays of references, and no pointers to references. The declaration of a reference shall contain an initializer (dcl.init.ref) except when the declaration contains an explicit extern specifier (dcl.stc), is a class member (class.mem) declaration within a class declaration, or is the declaration of a parameter or a return type (dcl.fct);

Wat wel kan is een reference to a pointer. Dan hebben we iets als
Code:
int *& a;

KeaTs

Legacy Member
Dan heb je een reference naar een pointer. Dat gebruik je bijvoorbeeld als je een pointer wilt meegeven in een functie, en als je de waarde van de pointer zelf wilt wijzigen in die functie ( als je m gewoon passt als pointer wordt er een kopie gemaakt van de pointer en gaan wijzigingen aan de lokale kopie niet gepropageerd worden naar het origineel - wijzigingen aan de pointer zelf, niet naar het object waar hij naar verwijst uiteraard ;) ).
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan