C++中容易忘的知识点——list和forward_list(四)
2017-10-04 17:14
169 查看
这两个容器都很少用,所有这里就只对知识点进行总结
在任何位置插入或删除非常迅速;
有关其他函数的应用,可以参考下面的连接,很详细。list成员函数的使用。
forward_list不提供size()成员函数。
forward_list没有指向最末元素的锚点,因此不提供back()、push_back()和pop_back()。
forward_list不提供随机访问,这一点跟list相同。
插入和删除元素不会造成“指向至其他元素”的指针,引用和迭代器失效。
forward_list容器还支持非修改类函数,比如:==,!=,<,>,<=,>=。
list容器
list是双向链表结构,它的数据由若干个节点构成,每一个节点都包括一个信息块(即实际存储的数据)、一个前驱指针和一个后驱指针。list的特点
不支持随机访问;在任何位置插入或删除非常迅速;
list的初始化和成员函数
//初始化 //第一种,构造函数 int a[] = {1,2,3,4,5}; list<int> l1(a, a+5); // 将数组a的内容赋值给l1 list<int> l2(2,100); // 2个值为100的元素 list<int> l3(l2); list<int> l4(l3.begin(),l3.end()); //第二种,用push_back或push_front for (int i = 1; i <= 5; ++i) l5.push_back(i); l5.push_front (200); l5.push_front (300); //第三种,用assign list<int> first; list<int> second; first.assign(7,100); // 给first添加7个值为100的元素 second.assign(first.begin(), first.end()); // 复制first给second
有关其他函数的应用,可以参考下面的连接,很详细。list成员函数的使用。
forward_list 容器
forward_list是一个单向链表,只支持单向顺序访问,在链表的任何位置进行插入/删除操作都非常快。forward_list的特点
forward_list只提供钱箱迭代器,因此不支持反向迭代器,比如rbegin()等成员函数。forward_list不提供size()成员函数。
forward_list没有指向最末元素的锚点,因此不提供back()、push_back()和pop_back()。
forward_list不提供随机访问,这一点跟list相同。
插入和删除元素不会造成“指向至其他元素”的指针,引用和迭代器失效。
forward_list的初始化和成员函数
forward_list容器还支持非修改类函数,比如:==,!=,<,>,<=,>=。
相关文章推荐
- 【C++ STL应用与实现】7: 如何使用std::forward_list 单链表 (since C++11)
- C++中list和forward_list的迭代器不支持加减运算
- C++ STL 学习笔记 list,forward_list
- C++基础知识容易忽略的知识点
- c++ forward_list 的使用
- C++利用std::forward_list查找插入数据方法示例
- 细说C++中那些容易忽略而又非常重要的知识点
- C++一些容易忽略的知识点
- c/c++一些容易遗忘的知识点(不断补充)
- C/C++容易混淆的小知识点
- C++中容易考的知识点总结——类(二)
- C++容易忘的知识点——array和deque(五)
- C++ 头文件系列(forward_list)
- C++不得不知道的几点容易出错的知识点--1
- C++容器之forward_list
- C++中容易忘记的知识点——vector和string(三)
- C/C++知识点(容易出错的地方)
- JAVA学习中容易混淆的几个知识点
- 简单记录平时常用容易混淆的小知识点
- c++的一些知识点