std::按索引列出remove元素
std::list remove element by index
我有一个std::列表,里面满是对象。每当我添加对象时,我都希望将该对象索引存储在列表中,以便以后可以将其从列表中删除。
我想在伪代码中做什么
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);
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用strcpy将char数组的元素复制到另一个数组
- 使用不带参数的函数访问结构元素
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- C++如何通过用户输入删除列表元素
- lower_bound()返回最后一个元素
- 基于多个条件处理地图中的所有元素
- 调整大小后指向元素值的指针unordered_map有效?
- 使用std::transform将一个范围的元素添加到另一个范围中
- 使用函数"remove"删除重复元素
- 具有最大子序列大小的序列,每个元素都相同
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将元素添加到数组的线程安全函数?
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- 使用容器中元素的别名删除带有 std::list::remove 的元素是否正确?
- 为什么 std::remove 不删除数组的最后一个元素
- std::erase 和 std::remove 组合以删除特定元素不适用于特定示例
- 使用 std::erase 和 std::remove 从矢量中删除元素,不使用自定义结构作为值
- std::按索引列出remove元素