小编典典

如何从 C 样式数组初始化 std::vector?

all

std::vector从 C 样式数组初始化 a 最便宜的方法是什么?

示例:在下面的类中,我有一个vector,但由于外部限制,数据将作为 C 样式数组传入:

class Foo {
  std::vector<double> w_;
public:
  void set_data(double* w, int len){
   // how to cheaply initialize the std::vector?
}

显然,我可以调用w_.resize()然后循环遍历元素,或者调用std::copy(). 有没有更好的方法?


阅读 63

收藏
2022-06-25

共1个答案

小编典典

不要忘记您可以将指针视为迭代器:

w_.assign(w, w + len);
2022-06-25