zoukankan      html  css  js  c++  java
  • 实在是太菜了,关于QTC++ 结构体和容器的问题

    其实以前碰到过这个问题,但没有整理,今天又碰到了,结果又耽误了很长时间。

    QT版本:5.7.0

    症状是将一个带QString的结构体放入struct中,之后又保存到QMap中,结果在多线程运行时发生了许多莫名其妙的错误。

    在运行过程中QThread对象没被销毁。movetothread的object对象也没有被销毁,也增加了线程同步,但数据就是发生了错误。

    在考虑是不是线程执行完成后,系统回收了线程运行资源。但QMap确确实实是保存在object里面的啊。没有得到具体的原因。

    之后解决思路是:

    将放入容器中的元素修改成类并添加拷贝构造函数和赋值构造函数。

    猜想是不是struct并不会像类一样有默认的拷贝构造函数,不会调用QString的拷贝构造。

  • 相关阅读:
    Xcode代码块快捷输入
    Git常用命令
    vim
    MACOX中apache配置
    IOS中实现动画的几种方式
    Swift与OC混合编译
    网络图像加载
    我对互联网的理解
    运行时
    自动布局使用
  • 原文地址:https://www.cnblogs.com/xiaoBay/p/7614063.html
Copyright © 2011-2022 走看看