c++ - 如何传递指针 vector 以便在函数中更改它们?

标签 c++ pointers

我基本上是在尝试通过引用传递,以便函数对 vector 所做的更改在函数范围之外是永久性的。我是否认为传递指针 vector 足以自行完成此操作是否正确?这在我看来是完全合理的,但我只是想确认我在这里没有以某种方式犯错误。

void updateCursors(vector<cursor*> cursors)

这应该足以更改这些指针指向的对象中的数据,是吗?

最佳答案

您可以通过引用传递 vector -

vector<cursor*>& cursors

但是你不应该在 vector 中保存指针。推荐的方法是保存可复制/可移动的对象 -

vector<cursor>& cursors

关于c++ - 如何传递指针 vector 以便在函数中更改它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10933487/

相关文章:

c++ - std::async 正在阻塞/暂停父线程

C++ 数学分词器/解析器错误

C++ 访问类成员的操作顺序

c - 尝试使用两个指针就地反转字符串

c++ - 如何声明指向 C++11 std::array 的指针?

c++ - C++ 中的 vector 容器和静态绑定(bind)?

c++ - 模板特化在链接时失败

C++ stoi : none of the 2 overloads could convert all the argument types

c++ - 如果您不知道传递的方法的确切类,如何将方法传递给类

我可以通过 char* 指针访问 int 变量的每个字节吗?