gpt4 book ai didi

c++ - 在 vector 中保留插入元素的地址(C++)

转载 作者:行者123 更新时间:2023-11-28 01:41:18 28 4
gpt4 key购买 nike

假设我在几个对象之间有一个 int 的共享 vector:

vector <int> list;

每个对象都可以向其中添加更多元素:

list.push_back(someint);

我希望这些对象能够删除它们放入其中的元素,但由于其他对象操作,我无法知道位置。另外,如果我保留元素地址,它只会对应于列表中会发生变化的位置,所以我不知道。可能吗?

最佳答案

所以你有一个 std::vector 并且你添加了一个元素。然后你删除并添加一个或多个其他元素,最后你需要删除原始元素?

std::vector 并不适合这种情况。为什么不改用 std::list 呢?使用 std::list,您可以 insert一个元素,并将获得一个指向新插入元素的迭代器。与 std::vector 不同,std::list 迭代器将保持有效,即使稍后添加或删除其他元素也是如此。

关于c++ - 在 vector 中保留插入元素的地址(C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47042001/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com