我应该在C ++中使用delete
new
实例,对吗?
class C {
public:
void hello() {...};
};
如果我有上述类的实例,则可能需要像
C* c = new C();
c->hello();
delete c;
对?这个怎么样:
(new C())->hell();
我可以这样做吗?是否自动调用
destructor
并释放内存? 最佳答案
不,析构函数不会自动调用,因为您从不会调用delete
。但是,您可以创建一个智能指针,一次即可为您完成此操作:
::std::make_unique<C>()->helo();
关于c++ - 括号内的实例被破坏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51533825/