C++标准库学习
来源:互联网 发布:c语言字符串分割 编辑:程序博客网 时间:2024/05/21 06:18
标准库以头文件形式呈现
C++标准库的头文件不带.h;
新式C头文件不带.h,例如#include<cstdio>
旧式C头文件带.h,例如#include<stdio.h>
STL六大部件:容器(containers)/分配器(Allocator)/算法(Algorithms)/迭代器(iterators)/适配器(Adapters)/返函式()
容器 - 结构与分类
序列式容器:vector/Deque/List/Forward-List等
vector :可变大小数组,支持快速随机访问,一般在其尾部插入元素,用push_back;
deque:双端队列,支持快速随机访问,在首尾都可以插入元素;
list:双向链表,只支持双向顺序访问,在任何位置插入/删除元素都很快;
forward_list:单向链表,只支持单向顺序访问。在链表的任何位置插入或者删除元素都很快;
array:固定大小数组,支持快速随机访问,不能添加/删除元素;
序列式容器
vector 的size和capabilitiy:vector的size指的是它实际存放的元素个数,vector的capability指的是适配器为它分配的内存大小;
如果标准库容器有一个sort,某些容器本身也有sort,一般是容器自身拥有的sort比较快
deque:每次扩充一个buffer,实际上它不是连续内存,实际上如果++这动作,已经使得迭代器到了容器的末端,deque有一个map,map指向每个buffer的首地址,每次当内存不足,deque就会申请一个buffer。
stack:没有iterator
关联容器
关联容器有8种,分别是set/multiset/map/multimap(按关键字有序保存元素)和nordered_set/norder_multiset/norder_map/norder_multimap(无序集合),其中map是关联数组,保存关键字-值,它们是一一对应的关系;set则是关键字的集合,它只保存关键字;这两个容器中的关键字都是唯一的;multiset和multimap中可以有多个相同的关键字;
值得注意的是关联容器map/multimap中的元素是pair对象;
不定序容器:哈希树(最好的做法:separate chaining)
学习重要网页:www.cplusplus.com
CppReference.com
gcc.gnu.org
- 《C标准库》学习笔记
- C标准库学习资料
- C语言学习--标准库
- C&C++标准库学习资料[在线]
- C/C++标准库学习资料
- C标准库学习tim.h
- C标准库学习string.h
- C标准库学习stdlib.h
- C标准库学习stdio.h
- C标准库学习之其他
- C标准库学习--错误处理
- C++STL标准库学习20171117
- C/C++学习笔记-标准库类型
- C标准库“圣经”:C标准库
- C&C++标准库学习--<ctype>--参考
- C标准库的学习笔记(一)
- C标准库的学习笔记(二)
- linux & C++Primer 学习笔记--标准库vector类型
- 百度世界大会,爱奇艺电视果缘何备受瞩目?Google有话说
- 近距离接触Uber无人驾驶车队:城市的改变不仅是技术,还有情感
- 9个月贴身采访“硅谷钢铁侠”,一个你从来没“见”过的Elon Musk
- 《时代》选出今年 25 项最佳创新产品,登上封面的是一款机器人
- 对话景鲲 | DuerOS 四个月从 1.0 到 2.0, 版本号飙升背后是百度的操作系统梦
- C++标准库学习
- 调查显示32%的新加坡机构在利用机器学习技术
- 德勤咨询:2017年认知技术调查报告
- 儒略日和常规日期的转换(Python版)
- logback源码剖析(一)——slf4j和logback如何产生关联
- LeCun提出错误编码网络,可在不确定环境中执行时间预测
- 在Python和TensorFlow上构建Word2Vec词嵌入模型
- Bailian2767 简单密码【密码】(POJ NOI0107-10)
- 优秀程序员具备的8种素质