关于C++STL标准总结-顺序容器篇
来源:互联网 发布:windows defender下载 编辑:程序博客网 时间:2024/06/11 10:35
关于C++STL标准总结
一直想找个时间,总结下自己学习的进程,然而还是贪玩的动力大于学习的动力。曾经有好几次想要落笔的时候,又被自己的懒惰给打败了。诶,没办法,书到用时方恨少,这就就到了迫不得已的地步,想着感觉的翻翻书总结下自己欠缺的东西。-本内容只是对《C++ Primer中文版(第五版)》的一个总结。
- 简介
STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来
的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。
STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模版函数的方式,这相比于传统的由函数和类。(这段是copy过来的☺)
组成的库来说提供了更好的代码重用机会。在C++标准中,STL被组织为下面的13个头文件:<algorithm>
、<deque>
、<functional>
、<iterator>
、<vector>
、<list>
、<map>
、<memory>
、<numeric>
、<queue>
、<set>
、<stack>
和<utility>
。虽然上面的这些有一些用过,但是,日子久了也就忘记了。但是勤能补拙,在这里总结下来,忘了的时候,能翻出来看看。 - 顺序容器概述
顺序容器类型
除了固定大小的array以外,其他容器都提供高效、灵活的内存管理。
确定使用哪种顺序容器
以下是一些选择容器的基本原则:
- 除非你有很好的理由选择其他的容器,否则应使用vector。
- 如果你的程序有很多小的原色,且空间的额外开销很重要,则不要使用lis或forward_list。
- 如果程序要求随机访问元素,应使用vector或deque。
- 如果程序需要再头尾位置插入或删除元素,但不会在中间位置进行插入或删除操作,则使用deque。
- 如果程序要求在容器的中间插入或删除元素,应使用list或forward_list。
- 如果程序需要在读取输入时才需要在容器中间位置插入元素,随后需要随机访问元素,则 (1)、首先,确定是否真的需要在容器中间的位置添加元素。当处理输入数据时,通常可以很容易的向vector追加数据,然后在调用标准库的sort函数来重新排列容器中的元素,从而避免在中间位置添加元素。(2)、如果必须在中间位置插入元素,考虑在输入阶段使用list,一旦输入完成,将list中的内容拷贝到一个vector中。
如果程序既需要随机访问元素,又需要在容器中间位置插入元素,那该怎么办?答案取决于在list或forward_list中访问元素与vector或deque中插入/删除元素的相对性能。一般来说应用中占主导地位的操作(执行的访问操作更多还是插入/删除的次数更多),决定了容器类型的选择。在此种情况下,对两种容器分别测试应用的性能可能就是必要的了。
成员函数表
阅读全文
0 0
- 关于C++STL标准总结-顺序容器篇
- 【c++】stl顺序容器
- 【C++】STL常用容器总结之二:顺序容器
- STL--顺序容器的总结
- STL总结之顺序容器
- 【C++】STL常用容器总结之六:基于deque的顺序容器适配器
- 【STL】STL之顺序容器和关联容器总结
- 【C++】STL容器的总结
- STL总结(一)顺序容器的操作
- STL——顺序容器的总结
- STL——顺序容器使用总结
- C++标准库顺序容器知识点总结
- 【day0411 C++】顺序容器 STL deque类
- STL顺序容器篇--数组容器
- STL之顺序容器和关联容器总结
- STL 标准容器比较
- STL标准容器
- STL 标准容器比较
- 扫描二维码
- LeetCode 123.Best Time to Buy and Sell Stock III
- Python入门(04) -- 函数
- TODOlist
- Failed to resolve: com.android.support:appcompat-v7 Failed to resolve: com.android.support:recycler
- 关于C++STL标准总结-顺序容器篇
- java重定向与转发的区别
- 【腾讯TMQ】APP省流量更新监控最佳实践
- 设置 Linux 的 LD_LIBRARY_PATH 变量
- 微信自带浏览器对返回键的监听
- EBS与外来项目系统对接接口item interface coding
- 依赖注入原理详细
- 稀疏矩阵的操作
- 美国史力度最大的减税方案,中国制造业直接承压