C++标准库
文章平均质量分 60
eagleatustb
学习永远没有终点
展开
-
三种的allocator实现源代码的对比
最近看空间配置器的内容,把ACE的ACE_Allocator类实现,SGI的allocator类实现和MS的allocator实现也参考了侯捷先生的《STL源码剖析》,有不少收获。 我听说是有说明STL中allocator实现标准的文件,但我没有找到,据我实验推测,标准allocator需要实现rebind,allocate,deallocate,max_size和构造及析构函数一共原创 2012-09-29 11:40:14 · 4326 阅读 · 1 评论 -
SGI STL 源码解读之Allocator
为了进一步了解Allocator的运作原理,我们以下面的使用作为例子,解读其实现细节。 std::allocatorint>MyAll; MyAll.allocate(10); 以上代码调用SGI STL的allocator,分配10个int型的空间。下面的分析使用SGISTL源代码allocator.cpp,并加上我的理解注释,建议参考侯捷的书做了解。但我目前原创 2012-10-08 15:03:58 · 3722 阅读 · 2 评论 -
SGI STL源码解读之 string
花了差不多一天时间,把SGI STL的string实现对着《C++标准程序库》看完。现在稍总结一下。 string也算是众多容器的一种,遵守容器设计接口,是一个随机读取容器(和vector差不多,就是内存结构更简单一点),自身迭代器设计和vector相似,都是使用传进来的类型的指针做迭代操作运算。string的数据直接在allocator里面保存,这个是更简单直接了;vector是a原创 2012-10-18 15:33:59 · 1180 阅读 · 0 评论 -
SGI STL 源码解读之 Iterator
引言引用侯捷在《STL源码剖析》中的话——STL的中心思想中于:将数据容器(contrainers)和算法(algorithms)分开,彼此独立设计,最后再以一贴胶着剂将它们撮合在一起。而Iterator正是扮演了这个撮合的关键角色。从两本权威资料《C++标准程序库》和《STL源码剖析》的解读,以及SGI中Iterator的源码实现来看,我觉得这个分离是在相当多的前提下面进行的。在这方面,标准原创 2012-10-17 16:35:20 · 1418 阅读 · 0 评论 -
如何在VS2008下调试SGI STL源代码
相信 很多C++的程序员都看过侯捷先生写的《STL源码剖析》,即使没看过,也有所闻。正如侯先生开篇所说:源码之前了无秘密。但有很多人只是看了这本书,没有实践跟进去了解具体的运行机理,没有实践的理论,总是不那么深刻的。本文一步一步教你在本机上把SGI STL编译并调试。废话少说,开始。 0. 前置条件:windowsXP或win7(我本机是win7,但说明里明显是说支持xp的),已经安装原创 2012-09-28 11:07:43 · 5293 阅读 · 8 评论 -
linux下安装或升级GCC4.8,以支持C++11标准
原文: http://www.21ops.com/linux/14922.html C++11标准在2011年8月份获得一致通过,这是自1998年后C++语言第一次大修订,对C++语言进行了改进和扩充。随后各编译器厂商都各自实现或部分实现了C++中的特性。如需查看各编译器对C++11的支持程度,请参看文章: 本文主要介绍在Linux系统下,如何升级GCC以支持C++1转载 2014-05-29 09:43:45 · 1349 阅读 · 0 评论