<double> 从已知大小的双精度*数组构造 std::vector

Construct std::vector<double> from a double* array of known size

本文关键字:数组 std vector 双精度 gt double lt      更新时间:2023-10-16

我有一个指针指向双数组的第一个元素:double* p

我也知道数组的长度:n .

有办法我可以复制到std::vector ?最好使用构造函数和分配器。我想做一些像

std::vector<double> v = std::vector(p, n);

但无法确定哪个构造函数最接近这个。

std::vector<>有一个接受范围的构造函数。你可以这样使用:

std::vector<double> v(p, p + n);

Try

std::vector<double> v( p, p + n );

或者如果向量已经定义,那么

v.assign( p, p + n );

如果你想添加向量,那么

v.insert( v.end(), p, p + n );