2011-01-23 175 views
2

在构造函数的初始化列表中是否有初始化std::vectorstd::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)) { 
    /* ... */ 
}