mehrdimensionaler vector



  • Hallo,
    ich habe ein kleins Problem mit meinen vectoren.
    Ich habe einen dreidimensionalen Vektor definiert:

    std::vector < vector < vector < double > > > matrix[][][];
    

    Die Grösse der 3 dimensionen ist erst mal unbekannt.
    Nun will ich nach und nach Einträge einfügen.
    Wie verweden ich denn in meinem Fall die .push-back() Funktion?
    Vielen Dank für Eure Hilfe!
    S



  • wie der zufall so will haben wir sogar einen FAQ-Beitrag zu dem thema.
    ganz interessant ist sicher auch boost::multi_array.
    Mit vector und push_back ist das ein bisschen umständlich, denn du müsstest zuerst einen vector<vector<double> > push_backen (den du vorher oder direkt im push_back aufruf erzeugst, z.b. so

    std::vector < vector < vector < double > > > matrix; //hier kein [][][]
    
    matrix.push_back (vector<vector<double> > (5, vector<double>(6,5.5))); //5 vector doubles in den vector<vector<double> >, mit je 6mal 5.5)
    
    cout << matrix[0][1][2] << endl;
    

    )
    umständlich.



  • Existiert mit std::vector::resize(...) nicht noch eine andere Möglichkeit, die Vektorgröße festzulegen?


Anmelden zum Antworten