使用指针直接访问STL列表的元素

时间:2011-11-30 23:37:29

标签: c++ stl

是否可以通过它的指针直接访问STL链表的元素?我的程序需要快速插入,删除和访问元素。

2 个答案:

答案 0 :(得分:3)

STL容器使用迭代器而不是指针。如果你有一个指向链表的元素的迭代器,你可以通过它访问元素的数据,使用列表的insert method插入迭代器的位置,并使用erase method在迭代器的位置删除。

答案 1 :(得分:1)

您可能希望使用指针定义自己的链接列表实现,而不是使用STL链接列表。例如:

template <class E>
struct Node {
    E data;
    Node * next;
};

因此,定义一个将成为链表中元素的Node类。正如Kerrek SB建议的那样,从长远来看,用迭代器重新设计程序可能会更快更好。