c++ float* 数组作为对 std::vector<float> 的引用

标签 c++ arrays reference stdvector

我想创建一个 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/

相关文章:

arrays - 访问非标量结构的所有记录的某个字段中的第 i 个元素

c++ - 使用对(成员)函数返回的对象的引用是否安全甚至可能?

Java 按引用传递和编译器优化

c++ - 指向未初始化数据成员的指针

c++ - 预期的 C++ 虚函数未被调用

c++ - std::map 迭代器如何工作?

php - 按父/子 ID 重组数组。递归?

c++ - 在这种情况下,将另一个对象的引用作为成员保存是否安全?

c++ - 关闭时避免 wxFrame 销毁

javascript - jQuery 根据用户输入从数组中获取值