C++对初始化的向量
C++ vector of pairs initialization
我有
vector< pair<int, int>> myVec (N);
我想将所有对初始化为 -1,-1。
你来了:
#include <utility>
vector<pair<int, int>> myVec (N, std::make_pair(-1, -1));
该构造函数的第二个参数是 N 对将采用的初始值。
只是为了添加一些额外的信息(不是 Asker 想要的,但在接受答案的评论中要求):
可以使用 (C++11) 完成单个初始化:
std::vector<std::pair<int, int> > vec1 = { {1, 0}, {2,0}, {3,1} };
std::vector<std::pair<int, int> > vec2 = {std::make_pair(1, 0),
std::make_pair(2, 0),
std::make_pair(3, 0)};
在旧的C++标准中,这样的事情会起作用:
const std::pair<int,int> vals[3] = {std::make_pair(1, 0),
std::make_pair(2, 0),
std::make_pair(3, 0)};
std::vector<std::pair<int, int> > vec2 (&vals[0], &vals[0] + 3);
如果你想初始化所有对,也许你可以做这样的事情:
vector<pair<int, int>> directions {
{1, 0},
{-1, 0},
{0, 1},
{0, -1},
};
在这里,已经初始化了 4 对。
相关文章:
- 为什么我在向量初始化时收到此错误?
- 使用向量初始化参数化构造函数的对象数组
- C++向量初始化遗传算法的代理向量
- shared_ptr类的向量的向量初始化问题
- 如何实现使用 gcc-4.4 编译的大向量初始化?
- 使用向量初始化C++中的链表
- C++ 中的向量初始化
- 如何使用嵌套初始化构造函数中的一维向量初始化矩阵
- std::另一个函数中的向量初始化
- 理解向量初始化时出现问题
- 静态常量 std::<char>没有堆的向量初始化?
- 向量初始化在 C++ 类中失败
- 具有从特定范围的随机数初始化特征矩阵或向量初始化特征矩阵或向量的有效方法
- 关于向量初始化的一些问题
- 了解C 中的向量初始化
- 设置::使用数字中的引号进行向量初始化
- VS2010中的向量初始化
- C++:构造函数中的向量初始化
- 如何从向量初始化数组?(如何将指针强制转换为数组?)
- 给我一个向量初始化的提示或(答案)