Iterator über char-Buffer
-
Ich habe alten code geerbt, der sich in großem Umfang zunutze macht, dass Visual C++ 2003 damals Konstruktionen folgender Art erlaubte:
char* buffer; //... std::string::iterator it = static_cast<std::string::iterator>(buffer);So weit es geht, bin ich diese Casts losgeworden, in diesem konkreten Fall ist es jedoch schwierig, da der char-Pointer von außen kommt und das public-Interface der betroffenen Klassse obigen Iterator nach außen weiterreicht. Wie auch immer, ich muss irgendwie einen Iterator auf einen char-Buffer erzeugen. Eine Idee?
-
boost iterator for the win!!!
-
char acString[]="Hallo Welt"; std::string tt(acString); std::string::iterator it= tt.begin();
-
char acString[]="Hallo Welt"; char* iter = acString;Jetzt ist iter ein Iterator!
-
Nun, ich habe schließlich den String erzeugt. Nicht schön, alles kopieren zu müssen, aber eine Lösung.
Und wieder eine boost-Verlockung mehr...
-
Aber wieso?
Was hast du denn vor?