46得票2回答
Qt中的QPointer、QSharedPointer和QWeakPointer类有什么区别?

我从Qt文档中了解到了、和这几个类。文档上说: 1. 是一个模板类,提供对Qt对象的受保护指针,并像普通的C++指针一样工作,但在所引用的对象被销毁时会自动设置为0,并不会产生“悬空指针”。 2. 类持有一个强引用计数指针。 3. 类持有一个弱引用计数指针。 我的问题是:“这些类之间有...

14得票1回答
QSharedPointer和QSharedDataPointer之间的区别是什么?

这两种指针有什么区别?据我所知,QSharedPointer能够很好地处理情况,那么为什么还需要QSharedDataPointer呢?

10得票2回答
将信号和槽连接到QSharedPointer内的对象

我的应用程序包含了一些类似于这样的功能:void SomeClass::set_data_provider(DataProvider *data_provider) { connect(data_provider, SIGNAL(data_available(int)), ...

9得票2回答
QSharedPointer和QObject::deleteLater

我遇到了这样一种情况:一个由QSharedPointer管理的对象发出信号,表示它已经完成了它的目的,并且准备很快被删除(在发射我的readyForDeletion信号后执行离开函数)。当使用普通指针时,我只需在对象上调用QObject::deleteLater,但是对于由QSharedPoi...

8得票2回答
为什么QSharedPointer<T>::create会调用不完整对象的析构函数?

我有以下代码示例: #include &lt;QCoreApplication&gt; #include &lt;QSharedPointer&gt; #include &lt;QDebug&gt; #include &lt;memory&gt; class A { public: ...

8得票1回答
Qt的PointerToMemberFunction在哪里被定义了?

在这个问题中,我能够适应QObject方法。 QMetaObject::Connection QObject::connect(const QObject * sender, const char * signal, const QObject * receiver, ...

8得票2回答
Pimpl + QSharedPointer - 析构函数 = 灾难

昨天我遇到了一件令人沮丧的事情,让我花费了24个小时的挣扎。问题归结为出现了随机的崩溃。更加复杂的是,调试报告也完全没有规律。更加复杂的是,所有的调试信息都指向随机的Qt源代码或本地DLL文件,即每次都证明问题不在我的端上。以下是一些这样可爱的报告示例: Program received s...

8得票2回答
Qt应用程序是否具有自动垃圾回收功能?

我正在研究这个问题,但是没有得出确定答案。Qt小部件应用程序在退出时是否清理内存?从QObject派生是否有任何区别?如果有垃圾回收,为什么还需要QSharedPointer类?我是从我的代码上下文中提出的这个问题。 void MainWindow::sync() { QString...