2 Stimmen

std::vector resize() funktioniert nur nach clear()

Ich habe ein Vektorobjekt:

std::vector<std::vector<MyClass>> _matrix;

Es handelt sich um ein 2d-Array mit einigen Daten. Wenn ich versuche, die Größe der Dimensionen mit zu ändern:

_matrix.resize(_rows, std::vector<MyReal>(_colms)); //_rows and _colms are ints

wird mit diesem Befehl einfach nichts mit dem Objekt gemacht. Um die Größe zu ändern, muss ich also zuerst to aufrufen:

_matrix.clear();

und dann:

_matrix.resize(_rows, std::vector<MyReal>(_colms)); 

Natürlich verliere ich die Daten. (In meinem Fall spielt es keine Rolle)

Ist dieses Verhalten zu erwarten?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X