2014-11-05 5 views
0

Мне нужно инициализировать вектор пары с (false, false) в каждой паре длины n.Вектор пар

Что-то вроде этого, но правильно:

vector<pair<bool,bool> > hm(n,(false,false)); 
+0

Является ли это на Java? Пожалуйста, укажите язык по вашему выбору! –

+0

Похож на C++ для меня. – duffymo

ответ

3

C++ 03 совместимый ответ:

std::vector<std::pair<bool,bool> > hm(n, std::make_pair(false, false)); 
+1

Для C++ 11 (или новее) см. Отличный ответ G.Samaras :) –

6

Инициализировать вектор п пар в одной строке, как это:

std::vector<std::pair<bool, bool> > hm{n, {false, false}}; 
+0

+1: со стрессом, помещенным на '{' вместо '(' :) – quetzalcoatl

+0

Спасибо @quetzalcoatl, опечаталась! – gsamaras

+0

Слишком много набрав для себя ;-) – juanchopanza

6

std::pair значение инициализирует его элементы, что означает, что по умолчанию конструкция будет устанавливать оба члена в false. Таким образом, это будет иметь желаемый эффект:

vector<pair<bool,bool>> hm(n); 
Смежные вопросы