用指针直接访问STL列表中的元素
Direct access to element of STL list with a pointer
是否可以直接通过它的指针访问STL链表的元素?我的程序需要快速插入,删除和访问元素。
STL容器使用迭代器代替指针。如果你有一个指向链表元素的迭代器,你可以通过它访问元素的数据,使用列表的insert方法在迭代器的位置插入,并使用erase方法在迭代器的位置删除。
与其使用STL链表,不如使用指针定义自己的链表实现。例如:
template <class E>
struct Node {
E data;
Node * next;
};
定义一个Node类,它将是链表中的一个元素。正如Kerrek SB所建议的那样,从长远来看,用迭代器重新设计程序可能会更快更好。
相关文章:
- C++如何通过用户输入删除列表元素
- 通过动态分配插入列表元素
- 用于编织链接列表元素的Runner Technique
- 无法在C 中删除列表元素
- 如何在不使用循环或迭代器的情况下检查所有列表元素并在满足条件时删除一个
- 将列表元素移动到列表末尾的函数多次不起作用
- 交换链接列表元素
- 当删除列表元素时,在迭代器结束时会发生什么
- 为什么从不同分配器的列表中剪辑列表元素时会有错误消息?以及如何解决
- 打印出列表元素问题
- 我想通过递归获取列表元素的所有置换
- 从C++访问列表元素 (QML) 颜色
- 如何在C++visual studio 2013中将列表元素转换为文本块
- 指向删除后的列表元素的指针
- 正在将指针复制到assign运算符中的另一个列表元素
- 将列表元素插入向量,C++获取其他不需要的值
- 从unordered_set中删除列表元素
- 在C++中打印列表元素的组件
- 提取并转换 boost::p ython::list 的列表元素
- Rcpp犰狳:对列表元素的"-="操作