ptr_diff
-
Ist garantiert, das folgendes geht:
int * foo = &...; int * bar = &...; ptr_diff diff = foo - bar;
Wenn ja, könnte man doch Zeiger wie folgt in Inegers umwandeln:
int * mein_zeiger; prt_diff als_zahl = mein_zeiger - static_cast<int *>(0);
-
siehe eins weiter unten
(bei bashar)nette unterhaltung *g*
-
Soweit ich weiß, ist obiges nur garantiert, wenn foo und bar in dasselbe Objekt zeigen. (Objekt im Sinne des Standards, dh "region of data storage in the execution environment, the contents of which can represent values", nicht im Sinne der OOP)
edit: davie: Ja sicher.
edit2: Ok dann schau halt erst
edit3: Ja hierher
-
BTW, hab ich zuerst mental ausgeblendet, aber der Typ heißt ptrdiff_t und nicht ptr_diff.
-
meinte ich doch. Ich hab grade was von jemandem angeguckt, in dem ein eigenes typedef verwendet wurde.