初始化列表std :: pair

时间:2011-01-23 08:14:53

标签: c++ stl

有没有办法在构造函数中初始化初始化列表中的std::vector std::pair<int,int>?我有一个std::vector<std::pair<int,int> >,我想将一定数量的对初始化为(0, 0)。例如,我可能想为一个类中的成员初始化3对(0, 0)。我该怎么做呢?

1 个答案:

答案 0 :(得分:8)

您可以使用std::vector构造函数来执行此操作,该构造函数包含要使用的大小和默认值:

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

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

MyClass::MyClass() : elems(3, std::make_pair(0, 0)) {
    /* ... */
}