[STL] Vector iterator an Position springen
-
Das geht noch einfacher und "korrekter":
vector<int> v; // ... v wird gefüllt unsigned gueltig = v.size(); for (unsigned i=0; i<gueltig;) { if('soll i-tes Element gelöscht werden?') { --gueltig; v[i] = v[gueltig]; } else { ++i; } } v.erase(v.begin()+gueltig,v.end());
Für statistische Simulationen ist std::rand wohl auch keine gute Idee. Da gibt es qualitativ hochwertigere Pseudozufallszahlengeneratoren. Siehe Boost.Random