64,637
社区成员
发帖
与我相关
我的任务
分享
int *p = new int[20];
cout << " sizeof(p) = " << sizeof( p ) << endl;
delete [] p;
void *__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
_THROW_NCEE(_XSTD bad_alloc, );
}
return (p);
}
以上代码你可以修改重载的,也就是说怎么new由编程者说了算,包括你自己都可以改,区别只是你用的VC++微软已经替你写好了,编译器根本就不知道new了多少,是编程者根据运行平台决定,delete同理。。。