STL源码剖析知识
来源:互联网 发布:python jdbc 编辑:程序博客网 时间:2024/06/07 08:50
这里将SGI版本的STL
chapter one
1 STL主要包含六大组件:容器、算法、迭代器、仿函数、适配器(adapters)、配置器(allocators)。其中适配器是各种接口,配置器是负责空间配置与管理的。
2 STL代码里面真的体现了C++的美丽,各种功能都用上了!
3 迭代器是前闭后开区间
4 用括号直接产生临时对象,
5 仿函数就是重载括号运算符 为什么使用仿函数,还有一点,可以保存数据
6 空间适配器不只能分配内存,还能直接向硬盘读取
7 for_each :对容器里面的每个元素都调用一个函数
8 static成员在class内部直接初始化,因为它是类的成员,而不是对象的,不能在构造函数初始化——会造成多次初始化
9 size_t是通过sizeof返回的,可能是任何无符号整型,比如uint,ulong,ulonglong等,是由开发环境决定的,因此可移植性高。
ptrdiff_t是计算指针的距离,通过地址差除以类型大小得到与类型无关的距离。这两个都是在<cstddef>头文件中的
10 作用域解析符::放在前面,表示使用全局对象。
operator new 和new operator:都是用来分配内存的,operator new其实是函数,可重载,使用时要保持operator关键字。new operator就是常使用的new关键字。
11 P64 alloc是内部的内存分配类?在声明容器时需要开辟内存空间,不过通常采用默认的,不用写出来。
12 使用<new.h>中的placement new(operator new的重载版本),在已经分配的内存中创建新的对象。
可以查询的相关知识:SGI STL相关资料
- STL源码剖析知识
- STL"源码"剖析-重点知识总结
- STL"源码"剖析-重点知识总结
- 《stl源码剖析》剖析
- STL"源码"剖析-重点知识总结
- STL源码剖析(1)
- STL源码剖析(2)
- STL源码剖析(3)
- STL源码剖析(4)
- STL源码剖析(5)
- STL源码剖析(一)
- STL源码剖析
- STL 源码剖析
- STL源码剖析 [笔记]
- 《STL源码剖析》-- memory
- stl vector源码剖析
- 剖析STL auto_ptr源码
- STL-sort()源码剖析
- 普通用户不在sudoers文件中的解决方法
- pip&conda使用清华源
- Unity的JsonUtility
- Android进程整理
- mysql5.7 免安装版的配置过程
- STL源码剖析知识
- http请求头,响应头以及状态码
- Android ConstraintLayout使用指南
- 【量化杂谈之基础篇2】回测的那些事 [推广有奖]
- C++笔记(三)
- python
- Drawable 给你的图片加上波纹效果
- Zabbix Agent 源码编译安装
- 解决win10下配置matlab接口的GPU版Caffe时常遇到的一些错误