问题标签 [qpointer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Qt:QPointer改变时发出信号
我想创建一个类似于QPointer
(或子类)的类,只要内部指针发生变化,它就会发出一个信号。
不幸的是,我需要继承QObject
类才能发出信号,而且我认为我需要使用模板来存储特定类型的指针。但是根据这个问题,不可能QObject
与模板混合。
知道如何让我的类跟踪内部指针的变化吗?
c++ - QPointer::clear() 是否删除其引用的指针,或者是否“清除此 QPointer 对象”。还有别的意思吗?
QPointer
有方法,clear()
.
清除此 QPointer 对象。
我不确定“清晰”到底是什么意思。在我看来,这可能意味着
- 它会删除您引用的指针。
或者
- 它取消附加您引用的指针,将该指针留在堆上,并且
QPointer<T>
对象不再绑定到任何指针。
或许还有别的意思?你能告诉我它实际上是做什么的吗?
c++ - 我应该在类的析构函数中删除 QPointer 吗?
假设我有一个像下面这样的类:
我是否需要m_process
手动删除,如析构函数中所示?
不幸的是,我不能使用std::unique_ptr
or std::shared_ptr
,
我还没有看到QObject::connect
.
另一方面,在QPointer::~QPointer()我读过:
销毁受保护的指针。就像普通指针一样,销毁受保护的指针不会破坏指向的对象。
这意味着QPointer::~QPointer()
将 delete asMyClass
的对象超出范围,因此我要删除m_process
两次?
还是我误会了?
c++ - 将 QPointer 存储到 QVariant 中
我可以存储 a QPointer
,例如 aQPointer<QTcpSocket>
在 a 中QVariant
,然后从中提取它吗?
我试过:
但我得到一个错误 - QVariant::QVariant(void*)' is private
。
c++ - 向量> 保存到 QSettings
我在 main.c 中注册
我超载这个
我从 qsetting 中获得了价值
我得到QVector
了新的指针都很好,但为什么它有效?我不明白如何为QPointer<Sensor>
它发生的地方分配内存?