只能在栈上创建对象,即不能在堆上创建,因此只要将new的功能屏蔽掉即可,即屏蔽掉operator new和定
位new表达式,注意:屏蔽了operator new,实际也将定位new屏蔽掉。
class StackOnly
{
public:
StackOnly(){}
private:
void* operator new(size_t size);
void operator delete(void* p);
};
只能在栈上创建对象,即不能在堆上创建,因此只要将new的功能屏蔽掉即可,即屏蔽掉operator new和定
位new表达式,注意:屏蔽了operator new,实际也将定位new屏蔽掉。
class StackOnly
{
public:
StackOnly(){}
private:
void* operator new(size_t size);
void operator delete(void* p);
};