STL源码剖析知识

这里将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相关资料


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值