Est-il un moyen d'initialiser un vecteur de vecteurs dans la même rapide, de la manière que vous l'initialiser une matrice?
typedef int type;
type matrix[2][2]=
{
{1,0},{0,1}
};
vector<vector<type> > vectorMatrix; //???
OriginalL'auteur Eric | 2010-06-17
Pour le vecteur unique, vous pouvez utiliser la suite:
Basé sur que vous pouvez utiliser suivant:
Dans c++0x, vous être en mesure d'initialiser des conteneurs standard de la même manière que les tableaux.
OriginalL'auteur sinek
alors si vous souhaitez ajouter, vous pouvez utiliser cette procédure:
Ou vous pouvez faire quelque chose comme ceci:
Donc, dans votre cas, vous devriez être en mesure de dire:
OriginalL'auteur Brett
Dans C++0x, je pense que vous pouvez utiliser la même syntaxe que pour votre
matrix
.En C++03, vous devez écrire des codes pour la remplir. Coup de pouce.Attribuer pourrait être en mesure de simplifier quelque peu, à l'aide de quelque chose comme le code non testé:
ou même
vector<vector<int>
et je voudrais initialiser le premier élément de la variable pour l'un alors que j'ai un vecteur de juste un élément de vecteur initialisé à un. Merci à l'avance.En C++11, c'est
vector<vector<int>> v {{1}};
. Avec Boost.Attribuer en C++03, quelque chose commevector<vector<int> > v = list_of(list_of(1));
. Si cela ne fonctionne pas, poser une nouvelle question en montrant ce que vous essayez et de décrire ce qui va mal.En effet, j'ai essayé
vector<vector<int> > v(10); v+= list_of(list_of(1));
etvector<vector<int> > v(10); v = list_of(list_of(1));
et j'ai une erreur de compilation. Je pense qu'il serait également préférable d'utiliser en plus répéter, mais je ne sais pas comment. Je vais poser une nouvelle question. MerciOriginalL'auteur Mike Seymour
Si la matrice est complètement rempli
Mise à jour : j'ai trouvé il y a une meilleure façon ici
d'autre si il y a un nombre variable d'éléments dans chaque ligne(pas une matrice) -
OriginalL'auteur Umang