读书人

new的内部实现解决思路

发布时间: 2012-05-20 16:03:12 作者: rapoo

new的内部实现

C/C++ code
_C_LIB_DECL [new的内部实现,调式程序看到的]int __cdecl _callnewh(size_t size) _THROW1(_STD bad_alloc);_END_C_LIB_DECLvoid *__CRTDECL operator new(size_t size) _THROW1(_STD bad_alloc)        {       // try to allocate size bytes        void *p;        while ((p = malloc(size)) == 0)                if (_callnewh(size) == 0)                {       // report no memory                static const std::bad_alloc nomem;                _RAISE(nomem);                }        return (p);        }


据说new能够调用类的构造函数 ,不知道是怎么实现的?

[解决办法]
new 的构造函数,定义一个对象时的构造函数,一个自动变量的析构函数,都是隐式强制自动调用的.

读书人网 >C++

热点推荐