我想创建一个 std::vector<float> vpd
这将是对 float*
的引用.
float * old = new float[6];
for (int i = 0; i < 6; i++)
{
old[i] = i;
}
vector<float> vpd(6);
auto refasd = &*vpd.begin();
*refasd = *old;
vpd[0] = 23;
cout << old[0] << endl;
如果我想得到23
,我应该如何修改代码呢?来自 cout
?
最佳答案
你不能。 std::vector
并非旨在获取原始指针的所有权。
也许你可以凑合用 std::unique_ptr<float[]>
, 但更好的解决方案是直接使用 std::vector
.
关于c++ float* 数组作为对 std::vector<float> 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53410262/