Puis-je initialiser un vecteur STL avec 10 de la même entier dans un initialiseur liste?
Puis-je initialiser un vecteur STL avec 10 de la même entier dans un initialiseur liste? Mes tentatives ont jusqu'à présent échoué à moi.
- Il y a un
std::vector<>
constructeur (2) qui n'est qu'; pourquoi voudriez-vous une liste d'initialiseur? - Je pense qu'il veut dire dans un constructeur d'initialisation de la liste, et non pas dans le corps du constructeur.
- Il n'a pas l'air comme ça pour moi. L'OP demande un moyen d'initialiser un vecteur X nombre d'éléments tous la même valeur. Oui, il mentionne une liste d'initialisation, mais de voir qu'il existe déjà un constructeur qui répond à l'exigence qui devrait être assez bon
- Pour clarifier, je pense que l'OP se demande comment ce faire:
struct foo { foo() : INIT_HERE {} };
plutôt que de ceci:struct foo { foo() { INIT_HERE; } };
. - Oui GManNickG c'est ce que je cherchais.
Vous devez vous connecter pour publier un commentaire.
Je pense que tu veux dire ceci:
Utiliser le constructeur, qui prend une dimension et une valeur par défaut.
Si vous êtes à l'aide de C++11 et sur GCC, vous pourriez faire ceci:
Il est appelé variait d'initialisation et est un GCC-extension uniquement.
La liste d'initialisation pour le vecteur est pris en charge à partir de C++0x. Si vous avez compilé avec le C++98
Vous pouvez le faire avec
std::vector
constructeur:Qui prend
count
etvalue
être répétée.Si vous souhaitez utiliser l'initialiseur de listes, vous pouvez écrire:
vous pouvez poster ce que vous faites