std::vector<std::vector<int>> problem



  • hola leute

    ich probier gerade einen std::vector<std::vector<int>> zu machen, aber irgendwie funkt das net so richtig.

    kurz mal was ich bis jetz habe:

    typedef std::vector<int> vec;
       typedef std::vector<vec> vec_vec;
    
       vec_vec temp;
    
       temp.reserve(10);
       temp.resize(10);
    
       for(int i = 0;i < 10;i++)
       {
          temp[i].reserve(10);
          temp[i].push_back(i);
       }
    
       for(int i = 0;i < 100;i++)
       {
          temp[i].reserve(100);
          temp[i].resize(100); // (1)
          temp[i].push_back(i);
       }
    

    bei (1) liegt dann ein fehler. da spring dann der CodeGuard vom BCB an. ich komm aber nicht drauf was ich da falsch gemacht habe.
    sieht da jemand den fehler ?

    Meep Meep



  • hat sich erledigt. denkfehler meinerseits. kann natuerlich nicht mehr als 10 vectoren abfragen. sind ja nur 10 😃

    naja

    Meep Meep



  • Ein reserve() macht vor einem resize() auf die selbe Größe keinen Sinn. Ein reserve() macht dann Sinn, wenn danach eine Schleife mit vielen push_back() kommt.


Anmelden zum Antworten