les publicités 2D vecteur

Dans certains cas, seule la ligne ci-dessous fonctionne. Pourquoi?


vector< vector<int>&gt; a/M,N/;


Cela fonctionne dans chaque cas.


vector&lt; vector<int>&gt; a/M, vector<int> /N//;


On s'en fout?
</int></int></int>
Invité:

Eugene

Confirmation de:

std::vector

a un concepteur de remplissage qui crée un vecteur de n Éléments et le remplit avec la valeur spécifiée.
a

Il a du type
std::vector<std::vector<int>&gt;

, Ce qui signifie que c'est un vecteur de vecteur. Par conséquent, votre valeur par défaut pour remplir le vecteur - C'est le vecteur lui-même, et pas
int

. Par conséquent, la deuxième option est correcte.


std::vector<std::vector<int>&gt; array_2d/rows, std::vector<int>/cols, 0//;


Cela crée un tableau rows * cols 2D, où chaque élément est égal 0. La valeur par défaut
std::vector<int>/cols, 0/

, ce qui signifie que chaque ligne a un vecteur qui a
cols

nombre d'éléments dont chacun est égal à 0.
</int></int></std::vector<int></std::vector<int>

Hannah12

Confirmation de:

Pour le vecteur d'annonce 2D Nous devons d'abord déterminer 1D Un tableau de taille égale au nombre de rangées du vecteur souhaité 2D.
Laissez-nous vouloir créer un vecteur de k Ranges I. m Colonne


"vector<vector<int>&gt; track/k/;"


Cela créera un vecteur de taille k. Utilisez ensuite la méthode de changement de taille.


for /int i = 0; i &lt; k; i++/ {
track[i].resize/m/;


Afin que vous puissiez déclarer un vecteur 2D
</vector<int>

Pour répondre aux questions, connectez-vous ou registre