wie funktioniert assign?



  • hi, wenn ich strings erzeuge zum beispiel:

    string str1 ("Frank");

    oder so ähnlich, ist mir die Funktionsweise klar, nur ich habe das Problem, ich verstehe diese Ausdrucksweise nicht:

    str2.assign("Tina");
    str2.assign("Tina",1,2);
    str2.assign(10,'0');

    bitte um hilfe 😞



  • die Funktion assign ist bei string 5 mal überladen:

    assign(const string& str);
    => damit wird in deinen String der übergebene String kopiert

    assign(const string& str, size_t pos, size_t n);
    => damit wird in deinen String ein Substring des übergebenen Strings beginnend ab dessen Position pos über eine Länge von n kopiert

    assign(const char* s, size_t n);
    => damit wird in deinen String ein String über die ersten n Charaktäre des C-Strings s kopiert
    (das ist das was du als 2. Beispiel geschrieben hast)

    assign(const char* s);
    => damit wird in deinen String der übergebene C-String kopiert (der muss nullterminiert sein!)

    assign(size_t n, char c);
    => damit wird in deinen String ein String der n mal aus dem Zeichen c besteht kopiert

    zusätzlich gibt es noch die altbekannte

    template <class InputIterator> string& assign(InputIterator first, InputIterator last);
    => damit wird in deinen String Elemente von Position first bis last (ausgeschlossen) kopiert




Anmelden zum Antworten