c++ - 是否可以删除取消引用的指针

标签 c++ qt pointers delete-operator

我有一些遗留代码,其中对象是动态分配然后发出的:

QList<MyClass *> *list = new QList<MyClass *>();
...
emit listReady(*row);

void OtherClass::slotList(QList<MyClass> list) {
    ...
    delete list???
}

我可以删除列表中的对象,我可以清除列表,是否可以删除我插槽中的列表本身?

最佳答案

is it possible to delete the list itsef in my slot?

不,这不可能。因为您的插槽按值接受列表,这是原始 QList<MyClass *> *list 的拷贝对象。

void OtherClass::slotList(QList<MyClass> list)

能够删除 list object 你应该改变 slotList接受指向 list 的指针的参数.

关于c++ - 是否可以删除取消引用的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45688294/

相关文章:

c++ - 如何使用继承类的多态函数参数避免 C++ 中的类型转换和 typeid

c++ - 如何覆盖qt中的标签宽度?

c - 指针运算

c - 在 C 语言中,为什么数组的地址等于它的值?

c - 在 C 中用指针表达式迭代二维数组

c++ - 为什么当 ifstream 使用从键盘读取的字符串创建文件时出现错误?

c++ - 将 Child 对象数组传递给接受 Parent* 的函数

c++ - 分布和内部状态

c++ - QT变量赋值,<没有这样的值>,SIGSEGV

c++ - QImage错误着色,格式为Indexed8