限制对象在堆中创建,private或protected析构函数 限制对象在栈中创建,private或protected new operator及new operator [] 例: class X{private: static void* operator new(size_t size) { return NULL; } static void* oper
限制对象在堆中创建,private或protected析构函数
限制对象在栈中创建,private或protected
new operator及new operator []
例:
class X
{
private:
static void* operator new(size_t size)
{
return NULL;
}
static void* operator new[](size_t size)
{
return NULL;
}
};
关于重载operator new需要注意的
http://book.51cto.com/art/201202/317799.htm
为某个class重载operator new时必须将其定义为类的静态函数。因为operator new是在类的具体对象被构建出来之前调用的,在调用operator new的时候this指针尚未诞生,因此重载的 operator new必须是static的。