栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

QT QHash的一点信息异常?BUG?

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

QT QHash的一点信息异常?BUG?

BUG复现代码

PS:Command 是一个结构体,里面有名为cs的属性;

    //test
    QHashtestHash;
    Command cmd;
    testHash.insert(1, cmd);
    while (true)
    {
        qDebug() <         //qDebug() << testHash.value(1).cs << testHash.size();//②
        if (testHash.contains(1))//③
        {
            qDebug() << "testHash.contains(1)=true;";
            testHash.remove(1);
            continue;
        }
        else
        {
             break;
        }
    }

上述代码,①打印时testHash.size() 的值为0;但是③会一直成立;

问题出在testHash[1]。但为什么会出来testHash.size() 的值为0,但testHash.contains(1)却成立,待研究。

续:有网友执行相同的代码,①处有的人打印是0,testHash[1].cs,1;有的打印是1,testHash[1].cs,1;而我是0,testHash[1].cs,0;鉴于些,有人提出,不同的结果应该有所用的QT库、C++版本有关。

PS:后来我同时打开打印①②,在②出,size()的值是1;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1002289.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号