std::vector从 C 样式数组初始化 a 最便宜的方法是什么?
std::vector
示例:在下面的类中,我有一个vector,但由于外部限制,数据将作为 C 样式数组传入:
vector
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(). 有没有更好的方法?
w_.resize()
std::copy()
不要忘记您可以将指针视为迭代器:
w_.assign(w, w + len);