【发布时间】:2010-12-16 12:43:57
【问题描述】:
我希望能够在 std::vector 及其底层 C 数组 int* 之间进行转换,而无需显式复制数据。
std::vector 是否提供对底层 C 数组的访问?我正在寻找这样的东西
vector<int> v (4,100)
int* pv = v.c_array();
编辑:
另外,是否可以反过来,即如何在不复制的情况下从 C 数组初始化 std::vector?
int pv[4] = { 4, 4, 4, 4};
vector<int> v (pv);
【问题讨论】:
-
这有一个“问题”: int pv[4] = { 4, 4, 4, 4};向量
v (pv);它实际上将 pv 的内容复制到 v ...您只需要注意这一点
标签: c++ c arrays stl stdvector