如果想要类分配在堆上而不是栈上,也就是说只能通过new的方式创建对象,可以将类的析构函数设置位protected或者 private保护。
class Test
{
public:
Test() {
}
void Destroy(){
delete this;
}
protected
本文介绍了如何控制C++类的对象分配位置。通过将析构函数设为protected或private,可以确保对象只能在堆上通过new创建。反之,通过重载new运算符为protected/private,可限制对象在栈上的分配。
如果想要类分配在堆上而不是栈上,也就是说只能通过new的方式创建对象,可以将类的析构函数设置位protected或者 private保护。
class Test
{
public:
Test() {
}
void Destroy(){
delete this;
}
protected
3156
878

被折叠的 条评论
为什么被折叠?