当我们使用关键字new在堆上动态创建一个对象时,它实际上做了三件事:获得一块内存空间、调用构造函数、返回正确的指针。
Struct A;
A* p = (A*)new(0) A;
void* operator new(size_t size, int32_t n)throw()
{
}
首先new查找A里面的operator new.
其次查找全局的 operator new(size_t size, int32_t n)throw()
再次 std::new。
具体查看c++ primer - - > p638.
原文地址:http://www.cnblogs.com/loying/p/3813570.html