Typecast auf Adresse?
-
Hey Leute, ich habe heute eine Konstruktion entdeckt, die ich nicht recht verstehe.
Das sieht in etwa so aus:
meineKlasse mK; funktionsAufruf( (void**) &mK );Hier wird ein Typecast zu einem Zeiger auf einen Zeiger vorgenommen, richtig?
Nun dachte ich allerdings immer &mK gibt eine Adresse zurück ( eigentl. doch vom Typ int).Funktioniert ein Typecast zu einem Zeiger nun also derart, dass ich dem Ding einfach eine Adresse geben kann und der Pointer verweist dann darauf?
Was genau geht da vor sich?Beste Grüße und vielen Dank schonmal : )
-
Das Ergebnis des Adressoperators ist kein Integer, sondern ist immer vom Typ Zeiger-auf-Objekt-dessen-Adresse-genommen-wurde (gibt's dafür einen Terminus?). Oder um es mit C++09 zu sagen, "&X" ist immer vom Typ "decltype(X)*".
Warum hier allerdings ein meineKlasse* in ein void** umgewandelt wird, musst Du den Autor fragen

-
Hey vielen Dank! Das war hilfreich, meine Frage ist damit beantwortet.
Den Grund für den Typecast weiß ich. Ich wollte nur wissen, wieso das funktioniert
