我想知道一些关于C++中的对象初始化。如果可能,我应该避免使用'new'关键字,因为我不需要它提供的内容(动态分配,对吗?),我不想手动删除对象。我有麻烦调用我的对象的初始化,但不使用新的。我有这个类:对象初始化没有“新”C++
class Apodization {
public:
Apodization()
{
std::cout << "Constructor for Apodization" << std::endl;
}
}
和验证码:
Apodization* apoObj();
// Apodization* apoObj = new Apodization();
使用时新创建的对象,但并非没有打印发生如预期。我猜这是因为我只是在上面的例子中创建了一个Apodization类型的指针,但我不知道该从哪里去。我想知道不使用new关键字来初始化Apodization对象的正确方法。谢谢您的帮助!我发现来自Java和Python的C++类有点奇怪。
除非你需要一个指针,你应该有对象:'变迹apoObj();' – NathanOliver
如果你有一个指针,创建什么,直到你调用'new'。如果你有一个堆栈分配的对象,你可以调用初始化器。 – tadman
如果您想要动态分配并且不想手动删除对象,请使用std :: unique_ptr。 – Max