2011-01-23 9 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)) { 
    /* ... */ 
}