08 2012 档案

摘要:STL中,traits编程技法得到了很大的应用,了解这个,才能一窥STL奥妙所在。先将自己所理解的记录如下:Traits技术可以用来获得一个 类型 的相关信息的。 首先假如有以下一个泛型的迭代器类,其中类型参数 T 为迭代器所指向的类型:template <typename T>class myIterator{...};当我们使用myIterator时,怎样才能获知它所指向的元素的类型呢?我们可以为这个类加入一个内嵌类型,像这样:template <typename T>class myIterator{ typedef T value_type;...};这样当我们 阅读全文
posted @ 2012-08-15 11:30 kanego 阅读(2977) 评论(0) 推荐(1) 编辑
摘要:最近在看侯捷老师的《STL源码剖析》,非常感叹其中空间配置器实现的巧妙和细致,对效率真正是锱铢必较。 一般我们所习惯的内存配置和释放是通过new和delete来完成的,而new运算包含了两个阶段:1.调用::operator new配置内存 2.调用构造函数 Foo() 构造对象。delete运算也包含两个阶段:1.调用析构函数 ~Foo() 将对象析构 2.调用::operator delete释放内存。1 class Foo { … };2 Foo *pf = new Foo;3 delete pf; 而SGI STL为了提高效率则是把二者分开的,对象的构造的析构由 constr... 阅读全文
posted @ 2012-08-14 20:51 kanego 阅读(1346) 评论(3) 推荐(0) 编辑

点击右上角即可分享
微信分享提示