从 C 样式数组分配 std::vector
在各种情况下,有必要分配 std::vector使用 C 风格的数组。考虑以下带有向量的类,该向量需要使用作为 C 样式数组传递的数据进行初始化:
class Foo { std::vector<double> w_; public: void set_data(double* w, int len){ // how to cheaply initialize the std::vector? } };
而不是调整向量大小并迭代元素或使用 std::copy(),存在一种更有效的方法。利用指针可以被视为迭代器的事实,可以使用以下命令快速分配向量:
w_.assign(w, w + len);
此语法分配从指针 w 到 w len 的范围,有效地使用来自C 风格数组。
以上是如何从 C 风格数组快速初始化 std::vector?的详细内容。更多信息请关注PHP中文网其他相关文章!