ERLEDIGT
JA
JA
ANTWORTEN
0
0
ZUGRIFFE
305
305
EMPFEHLEN
-
13.11.11 14:27 #1
Hallo zusammen,
weil ich in meinem Programm mit mehreren verschiedenen String-Typen arbeite, schreibe ich eine Art Universal-Helferklasse "DString", die selbstständig verschiedene Typkonvertierungen durchführt.
Die Klasse enthält einen Member "mValue" vom Typ "char*".
Ich möchte im Programm nun etwas in eine Datei hineinschreiben. Dafür benötige ich einen String vom Typ char*.
Nichts einfacher als das, denn in der DString-Klasse wird der ja als char* gespeichert.
Ich habe zwei Möglichkeiten ausprobiert, die nach meinem Verständnis eigentlich das gleiche tun sollten:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
public class DString { private: char* mValue; public: DString(char* pValue){ mValue = pValue; } operator char*(){ return mValue; } char* toCharPtr(){ return mValue; } }; DString* dstr = new DString("abcdefg"); char* char1 = (char*)dstr; // "·ýýýýZOg0ÝÝ" char* char2 = dstr->toCharPtr(); // "abcdefg"
Mit dem Konvertierungsoperato bekomme ich nicht den String sondern etwas, was für mich wie eine Speicheradresse aussieht, da es unabhängig von der Länge des Textes immer etwa gleich lang ist.
Die Zweite Version funktioniert.
Ich halte die erste Variante aber für effizienter. Nur, was mache ich falsch? Wie verwendet man den "operator"-Operator hier richtig?
Schönen Gruß,
André
Edit: Oh mann, eine Sekunde nachdem ich das hier postet hab, hab ich den Fehler gefunden:
Code :1
char* char1 = (char*)*dstr; // Das * vor dstr
Geändert von the snake II (13.11.11 um 14:32 Uhr)
Ähnliche Themen
-
Richtige Syntax bei Operatorüberladung, wann sind "friend", "const", "&" nötig?
Von mrs_schokokeks im Forum C/C++Antworten: 4Letzter Beitrag: 25.08.10, 19:13 -
Unterschied zwischen "char" und "unsigned char"
Von 3Cyb3r im Forum C/C++Antworten: 2Letzter Beitrag: 05.04.10, 23:31 -
Eingabe in der timeline: "time*100" - bei Effekt "turbulentes Versetzen"-"Evolution"
Von MTMonline im Forum Videoschnitt, Videotechnik & -produktionAntworten: 2Letzter Beitrag: 25.04.08, 09:49 -
Finder methods + JBoss + Was expecting one of: "CONCAT" "SUBSTRING" ... "(" ... <STRI
Von cengizhdde im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 6Letzter Beitrag: 27.05.05, 15:29 -
Datei-Eigenschaften: "erstellt:","Geändert am", "Letzter Zugriff:"
Von KILLSMAKER im Forum C/C++Antworten: 2Letzter Beitrag: 19.05.05, 19:51





Zitieren
Login






