Ich weiß, dass Vektoren zu einer vordefinierten Größe konstruiert werden können
%Vor%Aber gibt es eine Möglichkeit, die Dimensionen verschachtelter Vektoren anzugeben?
%Vor%Nehmen wir an, ich wollte einen Vektor der Größe 4 mit Vektoren der Größe 4 ... wie ein 4x4 multidimensionales Array von Ints?
Das zweite Argument zu diesem Konstruktor ist der Wert, mit dem initialisiert werden soll. Im Moment erhalten Sie 4 standardmäßig konstruierte Vektoren. Um es mit einem einfacheren 1D-Beispiel zu verdeutlichen:
%Vor%Sie wollen also:
%Vor%Dies erzeugt einen Vektor von Vektoren von ints, initialisiert, um 4 Vektoren zu enthalten, die initialisiert sind, um 4 ints zu enthalten, initialisiert auf 0. (Sie könnten einen Standardwert für den int angeben, falls gewünscht.)
Ein Mund voller, aber nicht zu hart. :)
Für ein Paar:
%Vor% Alternativ zu std::vector
können Sie boost::multi_array
verwenden. Von der Dokumentation :