相关疑难解决方法(0)

使用范围(迭代器对)初始化std :: array

如何std::array从范围初始化(由一对迭代器定义)?

像这样的东西:

vector<T> v;
...
// I know v has exactly N elements (e.g. I just called v.resize(N))
// Now I want a initialized with those elements
array<T, N> a(???);  // what to put here?
Run Code Online (Sandbox Code Playgroud)

我以为array会有一个构造函数接受一对迭代器,所以我可以做array<T, N> a(v.begin(), v.end()),但它似乎根本没有构造函数!

我知道我可以copy将矢量放入数组中,但我宁愿直接用矢量内容初始化数组,而不是先默认构造它.我怎么能够?

c++ arrays range stdvector c++11

19
推荐指数
3
解决办法
3953
查看次数

标签 统计

arrays ×1

c++ ×1

c++11 ×1

range ×1

stdvector ×1