CString und = operator



  • Ich möchte ein gefülltes wchar_t* an ein CString übergeben, jedoch möchte ich nur das der CString auf diesen Speicherinhalt zeigt und nicht den Inhalt von dem wchar_t* kopiert.

    Wenn ich einem CString mit "=" die wchar_t* variable zuweise, dann wird doch automatisch der Inhalt kopiert oder ?

    Was ist nötig, damit CString den Speicherinhalt nicht doppelt anlegt...?



  • weiss nicht ob das geht - musste mal probieren, tipps ausn kopf

    CString *strNewStr = *wchartString;
    

    oder

    CString *strNewStr = &(*wchartString);
    


  • Rio1 schrieb:

    Ich möchte ein gefülltes wchar_t* an ein CString übergeben, jedoch möchte ich nur das der CString auf diesen Speicherinhalt zeigt und nicht den Inhalt von dem wchar_t* kopiert.

    Wenn ich einem CString mit "=" die wchar_t* variable zuweise, dann wird doch automatisch der Inhalt kopiert oder ?

    Was ist nötig, damit CString den Speicherinhalt nicht doppelt anlegt...?

    Nein, geht nicht. Du müsstest dann ja den internen wchar_t * des CString ändern können.


  • Mod

    Rio1 schrieb:

    Ich möchte ein gefülltes wchar_t* an ein CString übergeben, jedoch möchte ich nur das der CString auf diesen Speicherinhalt zeigt und nicht den Inhalt von dem wchar_t* kopiert.

    Wenn ich einem CString mit "=" die wchar_t* variable zuweise, dann wird doch automatisch der Inhalt kopiert oder ?

    Was ist nötig, damit CString den Speicherinhalt nicht doppelt anlegt...?

    Das ist unmöglich, da CString seine eigene Speicherverwaltung hat. Zudem würde CString den Speicher ja auch im Destruktor freigeben wollen.

    Warum wilst Du das. Verwnede doch den wchar_t*. Warum brauchst Du einen CString?


Anmelden zum Antworten