开发者社区 问答 正文

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

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

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

class Foo { std::vector w_; public: void set_data(double* w, int len){ // how to cheaply initialize the std::vector? } 显然,我可以调用w_.resize()然后循环遍历元素,或调用std::copy()。有没有更好的方法?

展开
收起
保持可爱mmm 2020-02-06 23:05:21 447 分享 版权
1 条回答
写回答
取消 提交回答
  • 不要忘记,您可以将指针视为迭代器:

    w_.assign(w, w + len);

    问题来源于stack overflow

    2020-02-06 23:05:44
    赞同 展开评论
问答地址: