gpt4 book ai didi

c++ - std::list 按索引删除元素

转载 作者:搜寻专家 更新时间:2023-10-31 00:31:27 26 4
gpt4 key购买 nike

我有一个 std::list 充满了对象。每当我添加一个对象时,我都想将该对象索引存储在列表中,以便稍后我可以将其从列表中删除。

我想用伪代码做什么

myList.pushBack(element);
int index = myList.getIndexOfLastElement();

myList.erase(index);

出于性能原因,我无法按值搜索。

澄清:我有元素 a(索引 0)、b(索引 1)、c(索引 2)、d(索引 3)

如果我删除元素b,我仍然希望能够通过2访问c。

最佳答案

我建议使用 std::list::iterator 而不是整数索引。 std::list::erase() 不会使迭代器无效。

auto index = myList.insert(myList.end(), element);

myList.erase(index);

关于c++ - std::list 按索引删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34116767/

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