J'ai
vector< pair<int, int>> myVec (N);
Je veux que toutes les paires soient initialisées à -1, -1.
Voici:
#include <utility>
vector<pair<int, int>> myVec (N, std::make_pair(-1, -1));
Le deuxième argument de ce constructeur est la valeur initiale que les N paires prendront.
Juste pour ajouter quelques informations supplémentaires (pas tout à fait ce que voulait l'Asker, mais demandé dans les commentaires de la réponse acceptée):
L'initialisation individuelle peut être effectuée avec (C++ 11):
std::vector<std::pair<int, int> > vec1 = { {1, 0}, {2,0}, {3,1} };
std::vector<std::pair<int, int> > vec2 = {std::make_pair(1, 0),
std::make_pair(2, 0),
std::make_pair(3, 0)};
Dans les anciennes normes C++, quelque chose comme ça fonctionnait:
const std::pair<int,int> vals[3] = {std::make_pair(1, 0),
std::make_pair(2, 0),
std::make_pair(3, 0)};
std::vector<std::pair<int, int> > vec2 (&vals[0], &vals[0] + 3);