2012年4月6日
摘要: 今天看STL源码遇到一个问题:template <class _T1, class _T2>inline void _Construct(_T1* __p, const _T2& __value) { new ((void*) __p) _T1(__value);}上网搜到了一些文章,分享了:原帖地址: http://www.ksarea.com/articles/20080124_cc.htmlplacement new释疑"placement new"? 它到底是什么东东呀?我也是最近几天才听说,看来对于C++我还差很远呀!placement new 阅读全文
posted @ 2012-04-06 10:57 莫水千流 阅读(552) 评论(1) 推荐(1) 编辑
摘要: C++ new用法之一 new运算符最常用的是作为运算符的new,比如:string *str = new string(“test new”);作为运算符,new和sizeof一样,是C++内置的,你不能对它做任何的改变,除了使用它。new会在堆上分配一块内存,并会自动调用类的构造函数。C++ new用法之二 new函数第二种就是new函数,其实new运算符内部分配内存使用的就是new函数,原型是:void *operator new(size_t size);new函数返回的是一个void指针,一块未经初始化的内存。如你所见,这和C语言的malloc行为相似,你可以重载new函数,并且增加 阅读全文
posted @ 2012-04-06 10:11 莫水千流 阅读(6463) 评论(0) 推荐(1) 编辑