2011-01-23 3 views
2

Есть ли способ инициализации std::vector из std::pair<int,int> в списке инициализации в конструкторе? У меня есть std::vector<std::pair<int,int> >, и я хочу инициализировать определенное количество пар до (0, 0). Например, я могу инициализировать 3 пары (0, 0) для члена в классе. Как мне это сделать?Список инициализации std :: pair

ответ

8

Вы можете сделать это с помощью std::vector конструктор, который принимает в размере и значения по умолчанию для использования:

class MyClass { 
public: 
    MyClass(); 
    /* ... */ 

private: 
    std::vector<pair<int, int> > elems; 
}; 

MyClass::MyClass() : elems(3, std::make_pair(0, 0)) { 
    /* ... */ 
} 
Смежные вопросы