将 QString 作为结构的成员不是 QObject 派生类是否有效

问题描述

我的代码中有这个声明:-

typedef struct Token {
    QString name;
    enum tokenType type;
} Token;

它显然可以编译并运行。我还没有检查过,但我很确定我总是在创建 name 时显式初始化 Token 字段,如果我不这样做,它可能无法工作。但是我担心当 Token 被销毁时我可能会出现内存泄漏。 QString 的引用计数如何递减?如果没有,我可以通过在销毁 name 时将 Token 显式设置为 NULL 来强制发生这种情况吗?如果我复制 Token 会怎样?

理论上最好使用带有公共成员的 QOBject 派生类而不是结构,但我不需要 QObject 的其他功能,而且在创建和经常被破坏。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)