c++ - vector 分配/插入和转换值分配/插入

标签 c++ vector

我有两个 vector :

std::vector<Foo> original;
std::vector<Foo *> pointers;

目前,我正在检查 original 并使用 push_back 将值从它复制到 pointers

例如像这样:

pointers.push_back(&(*original.at(0));

有没有办法使用 vector 的 assigninsert 方法来完成这个?

感谢您的帮助。

最佳答案

不,没有。

您所做的最终会导致段错误或类似问题的原因有很多。主要是,您的指针 vector 指向原始 vector 中元素的地址。当您推回到原始 vector 时,元素可能会移动到其他地方并且地址不再有效。

关于c++ - vector 分配/插入和转换值分配/插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15751222/

相关文章:

c++ - C++如何衰减强类型枚举?

c++ - C++ 中的结构错误

c++ - 在 QImage 上呈现 QWebElement 时 QT 应用程序挂起

c++ - 尝试将对象添加到 vector 时出现错误 C2280

c++ - vector<double> 比 double* : why? 快

c++ - 不使用合并排序的倒置计数算法 (c++)

c++ - CMake 在更改时不会重新编译源文件?

math - 如何检查m n个向量是否线性独立?

c++ - 枚举数据和 vector 错误 : expression must be a modifiable lvalue

c++: 将 vector<char> 转换为 double