(1) SGI的Allocator分析

C++标准的内存配置和释放动作:

class test{.....};
test* pt =new test;
//(1) 呼叫::opearator new 配置内存
//(2) 呼叫test::test()构建对象
delete pt;
//(1)呼叫test::~test()解构对象
//(2) 呼叫::opearator delete 释放内存

在sgi STL中:
内存配置--> alloc::allocator()
内存释放--> alloc::deallocator()
以上定义在alloc.h中

对象构建--> ::construct()
对象解构--> ::destroy()
以上定义在construct.h中


image.png

关于constrcut的实现点这里

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • STL allocator是做什么用? 在学习STL中containers会发现C++ STL里定义了很多的容器(...
    未来已来_1cab阅读 7,534评论 0 2
  • 在面向对象语言的程序开发中,我们习惯的用class Info{...};Info* info = new Info...
    wojoin阅读 5,171评论 0 0
  • 空间配置器隐藏在一切组件之后。 1.1 设计一个简单的空间配置器 根据STL的规范,以下是allocator的必要...
    青_阳阅读 3,541评论 0 0
  • STL部分 1.STL为什么广泛被使用 C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vec...
    杰伦哎呦哎呦阅读 9,777评论 0 9
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,806评论 1 32