std :: forward_list - 如何在末尾插入元素

时间:2013-04-02 13:38:45

标签: c++ c++11 stl

forward_list是单个链表(与标准列表容器不同)。 list具有在前面和后面插入的功能,但forward_list没有在后面插入元素的功能(类似于push_back)。为什么不能在列表的后面插入一个元素?

1 个答案:

答案 0 :(得分:9)

这是一个深思熟虑的设计决策,与单链表相比,forward_list不会带来任何开销。这在C ++ 11标准(23.3.4.1)中有说明:

  

注意:相对于手写的C风格单链表,forward_list的空间或时间开销为零。与此目标冲突的功能已被省略。

维护指向列表末尾的指针会增加空间开销(对于指针本身)和时间开销(在列表末尾插入或擦除元素时更新指针)。