首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

new的内部实现解决思路

2012-05-20 
new的内部实现C/C++ code_C_LIB_DECL [new的内部实现,调式程序看到的]int __cdecl _callnewh(size_t size)

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 的构造函数,定义一个对象时的构造函数,一个自动变量的析构函数,都是隐式强制自动调用的.

热点排行