如果在一种场景下,list容器、forward_list容器均能使用,则推荐使用forward_list,原因是forward_list的操作比list的操作快,而且占用的内存更少。
forward_list提供了emplace_front(),可以方便地在forward_list列表头部插入元素。
以下介绍如何循环在forward_list尾部插入元素。
#include <iostream>
#include <forward_list>
using namespace std;
int main() {
forward_list<int> list;
auto iter = list.before_begin();
iter = list.emplace_after(iter, 1);
iter = list.emplace_after(iter, 2);
iter = list.emplace_after(iter, 3);
auto iter1 = list.begin();
while(iter1 != list.end()) {
cout << *iter1 << endl;
iter1++;
}
return 0;
}
forward_list的一个缺点:在使用过程中,若想在forward_list的尾部插入一个元素,需要从头遍历整个列表