void* in String umwandeln?
-
Ich steh zur Zeit auf der Leitung. Wie kann ich eine Zeiger auf void* - also eigentlich die Adresse in einen String umwandeln?
Ich habe eine Klasse die (ähnlich ostream) operator<< überlädt (Grund: Ich gebe es anderswo aus).
Nun will ich auch den operator<<(void*) überladen. Allerdings muss ich dazu von der Adresse auf einen String kommen - wie geht das?
MfG SideWinder
-
entweder per ostringstream oder selbst schreiben, indem du den Pointer per reinterpret_cast in einen geeigneten unsigned-Typ umwandelst (letzteres ist selbstverständlich plattformabhängig)
-
Bashar schrieb:
entweder per ostringstream oder selbst schreiben, indem du den Pointer per reinterpret_cast in einen geeigneten unsigned-Typ umwandelst (letzteres ist selbstverständlich plattformabhängig)
*platsch*, ostringstream hat eine Überladung für void*. Danke
MfG SideWinder
-
Ich nochmal. Es gibt bei basic_istream einen >>-Operator für void - was genau liest der mir ein?
MfG SideWinder
-
Niemand Ahnung?
MfG SideWinder
-
SideWinder schrieb:
Ich nochmal. Es gibt bei basic_istream einen >>-Operator für void - was genau liest der mir ein?
Es gibt einen für void*****. Der liest irgendetwas ein.
-
Ich weiß, dass es einen für void gibt. Aber was heißt "irgendwas"? Auf was liefert mir der einen Zeiger zurück?
MfG SideWinder
-
der liest wahrscheinlich einfach eine Adresse von einem Stream.
-
Hmm, ist gut *g*.
Weiß zwar nicht wann mir das was bringen soll, aber irgendsoetwas muss es ja sein :).
MfG SideWinder
-
SideWinder schrieb:
Ich weiß, dass es einen für void gibt.
Für void? Wohl eher für void*
.
-
das kann auf Systemen nützlich sein, wenn du keinen Memoryschutz hast und du irgend wo Informationen statisch hälst, kannst du dann zB. Pointer darauf zwischen deinen Anwendungen austauschen etc.
-
Igitt...