Pointeradresse als long int*
-
Hallo,
wie kann ich die Adresse eines Pointer in einem long int* speichern. Es geht nur um die Adresse als Zahl, das Objekt möchte ich danach nicht mehr verwenden.
Gruß,
Esco
-
void* somePointer = somePointerGenerator(); unsigned long addr = reinterpret_cast<unsigned long>(somePointer);
-
Benutze doch einen Typ der auch groß genug ist: ptrdiff_t
-
C++-Progger schrieb:
Benutze doch einen Typ der auch groß genug ist: ptrdiff_t
ptrdiff_t ist ziemlich fies, siehe hier.
-
Tippgeber schrieb:
ptrdiff_t ist ziemlich fies, siehe hier.
Naja, aber das ist nicht unbedingt ein Problem von
ptrdiff_t
, sondern der Vermischung vonsigned
undunsigned
-Typen. Das kann auch ohne Zeiger passieren. Wenn man negative Differenzen in Kauf nimmt, muss man eben mitsigned
-Typen arbeiten oder zumindest casten.
-
Nexus schrieb:
Tippgeber schrieb:
ptrdiff_t ist ziemlich fies, siehe hier.
Naja, aber das ist nicht unbedingt ein Problem von
ptrdiff_t
, sondern der Vermischung vonsigned
undunsigned
-Typen. Das kann auch ohne Zeiger passieren. Wenn man negative Differenzen in Kauf nimmt, muss man eben mitsigned
-Typen arbeiten oder zumindest casten.Exakt.
Ziemlich peinlicher Blog eintrag...