猿问

如何将向量转换为数组

如何将向量转换为数组

如何转换std::vector<double>转到double array[]?


不负相思意
浏览 940回答 3
3回答

哔哔one

这样做有一个相当简单的技巧,因为现在的规范担保向量连续地存储它们的元素:std::vector<double>&nbsp;v;double*&nbsp;a&nbsp;=&nbsp;&v[0];

蛊毒传说

干什么用?For what?您需要澄清:您需要指向数组的第一个元素的指针还是数组的指针?如果您调用的API函数期望前者,您可以这样做do_something(&v[0], v.size()),在哪里v是double向量的元素是连续的.否则,只需复制每个元素:double&nbsp;arr[100];std::copy(v.begin(),&nbsp;v.end(),&nbsp;arr);确保不只是arr已经够大了,但是arr获取填充,或者有未初始化的值。

素胚勾勒不出你

vector<double>&nbsp;thevector; //... double&nbsp;*thearray&nbsp;=&nbsp;&thevector[0];这是保证按照标准工作,但有一些警告:特别是要注意只使用。thearray当thevector在范围内。
随时随地看视频慕课网APP
我要回答