系列文章目录
Overview
- 详细请看STL专栏
1.新的容器 new containers
C++11 引入了几种新的容器,以满足更广泛的编程需求。以下是 C++11 中新增的容器:
-
std::array:- 一个固定大小的数组容器,提供了标准容器的接口。
- 它封装了一个原生数组,提供了范围检查和异常处理。
#includestd::array<int, 4> arr = {1, 2, 3, 4}; - 1
- 2
-
std::tuple:- 一个可以存储不同类型值的容器。
- 它提供了一种方便的方式来打包和传递多个值。
#includestd::tuple<int, double, std::string> myTuple = {1, 2.5, "Hello"}; - 1
- 2
-
std::unordered_set和std::unordered_multiset:- 基于哈希表的集合容器,允许快速插入、查找和删除操作。
std::unordered_multiset允许容器中存在重复元素。
#includestd::unordered_set<int> unordSet = {1, 2, 3, 4}; - 1
- 2
-
std::unordered_map和std::unordered_multimap:- 基于哈希表的关联容器,存储键值对。
std::unordered_multimap允许容器中存在重复键。
#includestd::unordered_map<int, std::string> unordMap = {{1, "one"}, {2, "two"}}; - 1
- 2
-
std::forward_list:- 一个单向链表容器,提供了比
std::list更高效的迭代器和操作。 - 它支持快速的插入和删除操作。
#includestd::forward_list<int> flist = {10, 20, 30}; - 1
- 2
- 一个单向链表容器,提供了比
-
std::array的变体:- C++17 进一步扩展了
std::array,添加了变体类型std::byte和std::optional。
- C++17 进一步扩展了
这些新容器为 C++ 程序员提供了更多的选择和灵活性,使得可以更加方便地处理各种数据集合。
关于作者
- 微信公众号:WeSiGJ
- GitHub:https://github.com/wesigj/cplusplusboys
- CSDN:https://blog.csdn.net/wesigj
- 微博:
- -版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
WeSiGJ
微信公众号
共同分享,共同交流, 共同学习!
评论记录:
回复评论: