Wie initialisiert man ein Array von Vectorint in C ++ mit vordefinierten Zählwerten?

8

Entschuldigung, ich bin neu in STL in C ++. Wie kann ich ein Array von 10 Vektorzeiger initialisieren, von denen jeder auf einen Vektor von 5 int Elementen zeigt.

Mein Codeausschnitt ist wie folgt:

%Vor%

Danke

    
remo 10.08.2013, 07:47
quelle

1 Antwort

16

Dies erzeugt einen Vektor mit 10 vector<int> , jeder mit 5 Elementen:

%Vor%

Wenn die Größe des äußeren Containers festgelegt ist, möchten Sie möglicherweise stattdessen ein std::array verwenden. Beachten Sie, dass die Initialisierung ausführlicher ist:

%Vor%

Beachten Sie auch, dass der Inhalt des Arrays Teil des Arrays ist. Die Größe von sizeof ist größer als die vector -Version und es gibt keine O (1) -Move- oder Swap-Operation. Ein std::array ist vergleichbar mit einem automatischen Storage Plain Array mit fester Größe.

Beachten Sie auch, dass, wie @chris in den Kommentaren vorschlägt, Sie festlegen können, dass die Elemente des Arrays nach eine Standardinitialisierung, z. mit std::fill , wenn sie alle denselben Wert haben sollen:

%Vor%

Andernfalls können Sie die einzelnen Elemente festlegen / ändern:

%Vor%

und so weiter.

    
juanchopanza 10.08.2013, 07:54
quelle