初始化列表std :: pair

shu*_*e87 2 c++ stl

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

tem*_*def 8

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

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

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

MyClass::MyClass() : elems(3, std::make_pair(0, 0)) {
    /* ... */
}
Run Code Online (Sandbox Code Playgroud)