dans l'article , Fabien LE LEZ à a écrit le 15/08/05 15:31 :
Ex : std::vector< std::vector<int> > table(100);
Le code ci-dessus crée un tableau de 100 tableaux vides.
Hum.. Mon gcc rale, je re-testerai ce soir.
Peut ton initialiser le deuxieme tableau egalement?
Fabien LE LEZ
On Mon, 15 Aug 2005 14:59:42 +0200, Bruno CAUSSE :
Pourquoi ne peut t'on inilialiser un vector de vector?
Ex : std::vector< std::vector<int> > table(100);
Rappel : un constructeur de vector<> est :
template <class T> vector<T>::vector (int nombre_d_elements, T const& modele= T())
vector <int> v0 (42); crée un tableau de 42 entiers, tous initialisés à la valeur par défaut d'un int, c'est-à-dire 0.
vector <int> v9 (42, -9); crée un tableau de 42 entiers, tous initialisés à la valeur -9.
typedef vector<int> VI;
VI vide; crée un objet de classe VI (i.e. vector<int>), initialisé à la valeur par défaut (i.e. un tableau vide).
vector <VI> v1 (50); crée un tableau de 50 objets VI, tous initialisés à la valeur par défaut d'un VI, c'est-à-dire un tableau vide.
vector <VI> v2 (50, v9); crée un tableau de 50 objets VI, tous initialisés à la valeur "v9", i.e. tous identiques à v9. En d'autres termes, il s'agit d'un tableau de 50 tableaux contenant chacun 42 entiers ayant pour valeur -9.
vector <VI> v3 (50, v0); crée un tableau de 50 objets VI, tous initialisés à la valeur "v9", i.e. tous identiques à v0. En d'autres termes, il s'agit d'un tableau de 50 tableaux contenant chacun 42 entiers ayant pour valeur 0.
vector <VI> v3 (50, VI (42)); vector < vector<int> > v3 (50, vector<int> (42)); deux écritures différentes pour le même v3
std::vector<> a aussi un constructeur un peu spécial, qui permet ceci : vector < vector<int> > v3 (50, 42); ce qui a le même effet que les 3 autres écritures de v3 : un tableau de 50 tableaux de 42 éléments initialisés à leur valeur par défaut.
On Mon, 15 Aug 2005 14:59:42 +0200, Bruno CAUSSE <envoi@lesSpam.fr>:
Pourquoi ne peut t'on inilialiser un vector de vector?
Ex : std::vector< std::vector<int> > table(100);
Rappel : un constructeur de vector<> est :
template <class T> vector<T>::vector
(int nombre_d_elements, T const& modele= T())
vector <int> v0 (42);
crée un tableau de 42 entiers, tous initialisés à la valeur par
défaut d'un int, c'est-à-dire 0.
vector <int> v9 (42, -9);
crée un tableau de 42 entiers, tous initialisés à la valeur -9.
typedef vector<int> VI;
VI vide;
crée un objet de classe VI (i.e. vector<int>), initialisé à la
valeur par défaut (i.e. un tableau vide).
vector <VI> v1 (50);
crée un tableau de 50 objets VI, tous initialisés à la valeur
par défaut d'un VI, c'est-à-dire un tableau vide.
vector <VI> v2 (50, v9);
crée un tableau de 50 objets VI, tous initialisés à la valeur
"v9", i.e. tous identiques à v9. En d'autres termes, il s'agit d'un
tableau de 50 tableaux contenant chacun 42 entiers ayant pour valeur
-9.
vector <VI> v3 (50, v0);
crée un tableau de 50 objets VI, tous initialisés à la valeur
"v9", i.e. tous identiques à v0. En d'autres termes, il s'agit d'un
tableau de 50 tableaux contenant chacun 42 entiers ayant pour valeur
0.
vector <VI> v3 (50, VI (42));
vector < vector<int> > v3 (50, vector<int> (42));
deux écritures différentes pour le même v3
std::vector<> a aussi un constructeur un peu spécial, qui permet
ceci :
vector < vector<int> > v3 (50, 42);
ce qui a le même effet que les 3 autres écritures de v3 : un tableau
de 50 tableaux de 42 éléments initialisés à leur valeur par défaut.
On Mon, 15 Aug 2005 14:59:42 +0200, Bruno CAUSSE :
Pourquoi ne peut t'on inilialiser un vector de vector?
Ex : std::vector< std::vector<int> > table(100);
Rappel : un constructeur de vector<> est :
template <class T> vector<T>::vector (int nombre_d_elements, T const& modele= T())
vector <int> v0 (42); crée un tableau de 42 entiers, tous initialisés à la valeur par défaut d'un int, c'est-à-dire 0.
vector <int> v9 (42, -9); crée un tableau de 42 entiers, tous initialisés à la valeur -9.
typedef vector<int> VI;
VI vide; crée un objet de classe VI (i.e. vector<int>), initialisé à la valeur par défaut (i.e. un tableau vide).
vector <VI> v1 (50); crée un tableau de 50 objets VI, tous initialisés à la valeur par défaut d'un VI, c'est-à-dire un tableau vide.
vector <VI> v2 (50, v9); crée un tableau de 50 objets VI, tous initialisés à la valeur "v9", i.e. tous identiques à v9. En d'autres termes, il s'agit d'un tableau de 50 tableaux contenant chacun 42 entiers ayant pour valeur -9.
vector <VI> v3 (50, v0); crée un tableau de 50 objets VI, tous initialisés à la valeur "v9", i.e. tous identiques à v0. En d'autres termes, il s'agit d'un tableau de 50 tableaux contenant chacun 42 entiers ayant pour valeur 0.
vector <VI> v3 (50, VI (42)); vector < vector<int> > v3 (50, vector<int> (42)); deux écritures différentes pour le même v3
std::vector<> a aussi un constructeur un peu spécial, qui permet ceci : vector < vector<int> > v3 (50, 42); ce qui a le même effet que les 3 autres écritures de v3 : un tableau de 50 tableaux de 42 éléments initialisés à leur valeur par défaut.
Fabien LE LEZ
On Mon, 15 Aug 2005 15:40:27 +0200, Bruno CAUSSE :
Ex : std::vector< std::vector<int> > table(100);
Le code ci-dessus crée un tableau de 100 tableaux vides.
Peut ton initialiser le deuxieme tableau egalement?
Quel "deuxième tableau" ? Il y a là un tableau de 100 tableaux. Cf mon autre message (<news:, 15h43) pour les détails.
On Mon, 15 Aug 2005 15:40:27 +0200, Bruno CAUSSE <envoi@lesSpam.fr>:
Ex : std::vector< std::vector<int> > table(100);
Le code ci-dessus crée un tableau de 100 tableaux vides.
Peut ton initialiser le deuxieme tableau egalement?
Quel "deuxième tableau" ?
Il y a là un tableau de 100 tableaux.
Cf mon autre message
(<news:ac61g11ujbnkmtpbd7hejmd7fnel968vm7@4ax.com>, 15h43) pour les
détails.
En fait, c'est pas int, c'est vector<>::size_type, qui est quelque chose qui ressemble d'assez près à un unsigned int. M'enfin bon, ça ne change pas le principe.
On Mon, 15 Aug 2005 15:43:49 +0200, Fabien LE LEZ
<gramster@gramster.com>:
En fait, c'est pas int, c'est vector<>::size_type, qui est quelque
chose qui ressemble d'assez près à un unsigned int.
M'enfin bon, ça ne change pas le principe.
En fait, c'est pas int, c'est vector<>::size_type, qui est quelque chose qui ressemble d'assez près à un unsigned int. M'enfin bon, ça ne change pas le principe.
Bruno CAUSSE
dans l'article , Fabien LE LEZ à a écrit le 15/08/05 15:45 :
Quel "deuxième tableau" ? Il y a là un tableau de 100 tableaux. Cf mon autre message (<news:, 15h43) pour les détails.
Oui, merci pour ces details. Ah un "tres bon" livre en francais me manque :-)
dans l'article m271g116nhboo2i7qtvmj0pe4ctmfnp49s@4ax.com, Fabien LE LEZ à
gramster@gramster.com a écrit le 15/08/05 15:45 :
Quel "deuxième tableau" ?
Il y a là un tableau de 100 tableaux.
Cf mon autre message
(<news:ac61g11ujbnkmtpbd7hejmd7fnel968vm7@4ax.com>, 15h43) pour les
détails.
Oui, merci pour ces details. Ah un "tres bon" livre en francais me manque
:-)