string class array?



  • Hallo!
    Eine möglicherweise banale Frage: wie bekomme ich möglichst einfach ein Array aus Strings (keine char arrays; string class) unbestimmter Länge?

    Der "workaround" mittels eines

    struct stringarray
    {string mystring; ... }
    
    stringarray meinarray[100];
    

    Funktioniert zwar auch, erscheint aber doch sehr unelegant.

    (per google hab ich dazu nichts gefunden.. string und array gibt 99% infos zu den char-arrays).



  • Tarjan schrieb:

    Hallo!
    Eine möglicherweise banale Frage: wie bekomme ich möglichst einfach ein Array aus Strings (keine char arrays; string class) unbestimmter Länge?

    Nutze dafür den Container std::vector!
    Dieser verhält sich wie ein normales Array, kümmert sich allerdings selbst um seine Speicherverwaltung.

    Beispiel:

    #include <vector> // dieser header wird benötigt
    using namespace std;
    
    int main()
    {
        vector<string> vec; // einen dynamischen Vektor mit Elementen vom Typ std::string anlegen.
    
        vec.push_back("Hallo Welt!"); // erstes Element "reinhauen"
    
        // weitere Elemente am Ende einfügen.
        string s1 = "Hannes", s2 = "Paul";
        vec.push_back(s1);
        vec.push_back(s2);
    
        // alle Elemente ausgeben:
        cout << "\n Elemente von vec: ";
        for(size_t i = 0; i < vec.size(); ++i)
            cout << vec[i] << ", ";
    
        cout << endl;
    }
    

    Siehe dazu auch http://www.cppreference.com/cppvector/index.html und/oder verwende google mit dem Suchwort std::vector :).

    Gruß Caipi



  • Ah, besten Dank!


Anmelden zum Antworten