c++ - 初始化列表 std::pair

标签 c++ stl

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

最佳答案

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

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

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

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

关于c++ - 初始化列表 std::pair,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4772891/

相关文章:

c++ - 将压缩文件嵌入到 C++ 程序中

c++ - 向 std::vector 添加结构时的 std::bad_alloc

c++ - 将枚举类的值用于移位运算符

c++ - 在 CPP 中创建代理服务器

c++ - fprintf 不写入管道

c++ - STL:使用未构造的有状态比较器初始化容器

c++ - 两个 vector 的可迭代并集

c++ - 无限循环搜索 C++ std::map

c++ - 清除 std::vector 需要赋值运算符。为什么?

c++ - 如何创建用户定义类型模板类对象 C++