摘要:
最近在看侯捷老师的《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... 阅读全文