Erstellen von n Vektoren mittels Funktion



  • hallo liebe C++ Mitstreiter,

    ich möchte eine Anzahl n Vektoren erstellen, die Variable n wird beim Dateneinlesen definiert.
    die vektoren sollten dann namen wie etwa V0, V1, V2, V3, ..., Vn erhalten.

    leider funktioniert das anscheinend nicht so einfach wie ich mir das vorgestellt hatte. anscheinend kann man bei der vektordeklaration keine variable übergeben.

    mein ansatz war:

    for (unsigned int i=0; i<n; i++){
    vector<int> i;
    }

    Das funktionieren leider nicht.

    weiss jemand von Euch wie man einem vektor noch eine laufnummer umhängen kann, sodass automatisiert n vektoren herauskommen?

    LG
    Don Gunito





  • Du könntest das folgendermassen machen:

    std::vector<std::vector<int> > vv;
    for (int i = 0; i < 10; ++i)
    {
       std::vector<int> v;
       // v z.B. noch füllen...
       vv.push_back(v);
    }
    
    // Zugriff auf z.B. v3
    std::vector<int>& v3 = vv[3];
    

    Gruss Simon

    Edit: Zugriff auf v3 erklärt.



  • sorry, kapier ich nicht....

    ich denke das du den vektor vv mit den vektoren v befüllst.....das hab ich verstanden.

    aber die letzte zeile verstehe ich nicht, kannst du die erläutern?
    std::vector<int>& v3 = vv[3];



  • was nicht?



  • Don_Gunito schrieb:

    sorry, kapier ich nicht....

    ich denke das du den vektor vv mit den vektoren v befüllst.....das hab ich verstanden.

    aber die letzte zeile verstehe ich nicht, kannst du die erläutern?
    std::vector<int>& v3 = vv[3];

    Du holst dir eine Referenz auf den 4ten vector der in vv angelegt wurde. Diese Referenz kannst du dann als Kurzschreibweise benutzen um auf den 4ten Vektor der Liste zuzugreifen.

    Du solltest dich zudem ein wenig mit den Grundlagen Scope und Variablen beschäftigen... Variablennamen können auch nicht dynamisch generiert werden.

    cu André


Log in to reply