是否可以阻止对象的堆栈分配,只允许在堆上使用“new”启动它?
最佳答案
您可以这样做的一种方法是将构造函数设为私有(private),并且只允许通过返回指针的静态方法进行构造。例如:
class Foo
{
public:
~Foo();
static Foo* createFoo()
{
return new Foo();
}
private:
Foo();
Foo(const Foo&);
Foo& operator=(const Foo&);
};
关于c++ - 是否可以防止对象的堆栈分配并只允许使用 'new' 对其进行实例化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/124880/