std::vector<std::string> vs. std::vector<char>



  • Hey @all,

    ich habe vor, so als Lernzwecke einen kleinen Editor zu proggen.
    Nun das ich mit den Cursortasten den Cursor beliebig am Bildschirm positionieren kann, habe ich soweit geschafft, jedoch kommt jetzt eine knifflige Frage.

    Wie speichere ich jetzt die Buchstaben?
    In einem vector<string>(Zeilenweise) oder vector<char> (jedes einzelne zeichen)?
    Oder soll ich deque nehmen?

    Bitte um Hilfe
    MfG Roman1311



  • zeiloenweises speicher hat sich oft als ganz vernünftig erwiesen. musst ja die ganzen zeilen-operationen (scrollen!) schnell machen können und dennoch beliebig lange zeilen anbieten.
    kannst natürlich auch den text als ganzes in ein dickes array tun und im zeilen-array nur indizes drauf haben. hat sich großen vorteil, was suchen&ersetzen und so angeht. allerdings wären einfügungen mitten im text teuer. gibts da nicht noch ne klasse rope, die genau dafür da ist? für urig lange strings, wo man mitten auch mal schhnell einfügen will?


Anmelden zum Antworten