我对Qt很新,我想知道一些关于内存管理和对象生命的基本知识.我什么时候需要删除和/或销毁我的对象?这是否自动处理?
在下面的示例中,我需要删除哪些对象?销毁myOtherClass时实例变量会发生什么myClass?如果我不删除(或破坏)我的对象会发生什么?记忆会有问题吗?
class MyClass
{
public:
MyClass();
~MyClass();
MyOtherClass *myOtherClass;
};
Run Code Online (Sandbox Code Playgroud)
MyClass::MyClass() {
myOtherClass = new MyOtherClass();
MyOtherClass myOtherClass2;
QString myString = "Hello";
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的那样,这是一个非常新手很容易的东西,但我在哪里可以轻松地了解这一点?
大家好,我对Qt内存管理有一点疑问,
让我们以Listview为例,在listview中我们通过动态分配内存来添加每个项目.所以在这种情况下我们需要手动删除所有"新"编辑项目.
例如:
Qlistview *list = new Qlistview;
QStandardItemModel *mModel = new QStandardItemModel();
list ->setModel(mModel);
for(int I =0;i<10;i++)
{
QsandardItem *item = new QsandardItem(“Hi”);
mModel->appendRow(item);
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,应手动删除项目?