为了账号安全,请及时绑定邮箱和手机立即绑定

如何将向量转换为数组

如何将向量转换为数组

C++
不负相思意 2019-07-03 14:03:05
如何将向量转换为数组如何转换std::vector<double>转到double array[]?
查看完整描述

3 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

这样做有一个相当简单的技巧,因为现在的规范担保向量连续地存储它们的元素:

std::vector<double> v;double* a = &v[0];


查看完整回答
反对 回复 2019-07-03
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

干什么用?For what?您需要澄清:您需要指向数组的第一个元素的指针还是数组的指针?

如果您调用的API函数期望前者,您可以这样做do_something(&v[0], v.size()),在哪里vdouble向量的元素是连续的.

否则,只需复制每个元素:

double arr[100];std::copy(v.begin(), v.end(), arr);

确保不只是arr已经够大了,但是arr获取填充,或者有未初始化的值。


查看完整回答
反对 回复 2019-07-03
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

vector<double> thevector;
//...
double *thearray = &thevector[0];

这是保证按照标准工作,但有一些警告:特别是要注意只使用。thearraythevector在范围内。


查看完整回答
反对 回复 2019-07-03
  • 3 回答
  • 0 关注
  • 939 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信