刚刚心血来潮,试一试QT和STL哪个好

网上评论都支持STL,我试了试:

 贴上代码:

 #include <QCoreApplication>
 #include <QHash>
 #include <QDebug>
 #include <time.h>

 QHash<QString,int> val;

 void pmap(QString a)
 {
     qDebug() << a << ':' << val[a] << '\n';
 }

 int main(int argc, char *argv[])
 {
     QCoreApplication a(argc, argv);

     val.insert();
     val.insert();
     val.insert();
     val.insert();
     val[;
     pmap("很伤心");
     pmap("很崇拜");
     pmap("贼牛逼");
     pmap("叫爸爸");
     pmap("爸");
     pmap("吧");
     qDebug()<<'\n'<<clock();
     return a.exec();
 }

接下来STL,我用的是VS2019:

看到了吗?

多长志气!!

贴上VS的代码:

 #include <iostream>
 #include <unordered_map>
 #include <time.h>
 using namespace std;
 typedef pair<string, int> p;
 unordered_map<string, int> val;
 auto pmap(string a)
 {
      cout << a << ':' << val[a] << endl;
 }
 int main()
 {
     val.insert(p());
     val.insert(p());
     val.insert(p());
     val.insert(p());
     val[;
     pmap("很伤心");
     pmap("很崇拜");
     pmap("贼牛逼");
     pmap("叫爸爸");
     pmap("爸");
     pmap("吧");
     cout << clock();
 }

如果把unordered_map改成map的话,就是2毫秒:

 STL毕竟是标准,比QT要好一点吧.

代码:

#include <iostream>
#include <map>
#include <time.h>
using namespace std;
typedef pair<string, int> p;
map<string, int> val;
auto pmap(string a)
{
     cout << a << ':' << val[a] << endl;
}
int main()
{
    val.insert(p("很伤心",555));
    val.insert(p("很崇拜",666));
    val.insert(p("贼牛逼",777));
    val.insert(p("叫爸爸",88));
    val["爸"] = 8;
    pmap("很伤心");
    pmap("很崇拜");
    pmap("贼牛逼");
    pmap("叫爸爸");
    pmap("爸");
    pmap("吧");
    cout << clock();
}

C++STL之unordered_map与QT的QHash对比的更多相关文章

  1. STL——map/unordered_map基础用法

    map /multimap map是STL里重要容器之一. 它的特性总结来讲就是:所有元素都会根据元素的键值key自动排序(也可根据自定义的仿函数进行自定义排序),其中的每个元素都是<key,  ...

  2. 详细介绍C++STL:unordered_map

    不得不提一下,hash_map未加入在C++11标准中. 在VC中编译: #include <hash_map> using namespace stdext; hash_map<i ...

  3. c++ STL之unordered_map

    1.1 特性 关联性:通过key去检索value,而不是通过绝对地址(和顺序容器不同) 无序性:使用hash表存储,内部无序 Map : 每个值对应一个键值 键唯一性:不存在两个元素的键一样 动态内存 ...

  4. C++ STL之unordered_map和unordered_set的使⽤

    写在最前面,本文摘录于柳神笔记: unordered_map 在头⽂件 #include <unordered_map> 中, unordered_set 在头⽂件 #include &l ...

  5. Understand the Qt containers(有对应表)

    Container classes are one of the cornerstones of object-oriented programming, invaluable tools that ...

  6. Qt容器类汇总说明

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt容器类汇总说明     本文地址:http://techieliang.com/2017/ ...

  7. qt基础知识之类库概述

    qt是用标准c++编写的跨平台开发类库,它对标准c++进行拓展,引入元对象系统.信号&槽.属性等特征 全局定义 容器类及对应迭代器 qt的模块化体系,分为 基本模块和拓展模块,一个模块通常就是 ...

  8. Qt And MFC Mouse Over Tips

    Qt鼠标提示分析说明 关于鼠标停留在控件上面,显示提示内容的方法. 对于Qt来说, Qt的某一个控件类, 如果属于GUI的, 那么这个控件类会有一个setToolTip(QString text)的方 ...

  9. C++——STL之vector, list, deque容器对比与常用函数

    STL 三种顺序容器的特性对比: vector 可变数组,内存空间是连续的,容量不会进行缩减.支持高效随机存取,即支持[]和at()操作.尾部插入删除效率高,其他位置插删效率较低: list 双向链表 ...

随机推荐

  1. OpenGL学习--05--纹理立方体--代码

    1.tutorial05.cpp // Include standard headers #include <stdio.h> #include <stdlib.h> // I ...

  2. mac os idea的快捷键

    全局搜索:shift+command+f 搜索类:command+o 光标向前向后移动:command+option+(左/右) 删除一行: command+delete

  3. 知识蒸馏(Distillation)

    蒸馏神经网络取名为蒸馏(Distill),其实是一个非常形象的过程. 我们把数据结构信息和数据本身当作一个混合物,分布信息通过概率分布被分离出来.首先,T值很大,相当于用很高的温度将关键的分布信息从原 ...

  4. linux 目录操作命令 mkdir、rmdir、cd -、cp、scp、mv、rm

    mkdir /bin/mkdir-p [目录名] 递归创建 mkdir /tmp/testmkdir /tmp/noexit/test在一个不存在的目录下创建一个目录test,要使用-p选项 可以创建 ...

  5. 分享:Windows2008重启后提示系统恢复选项的解决办法

    如题:WINdows2008服务器. 重启后提示系统恢复选项的解决办法 使用windows 2008后,不能启动的问题,重启后出现 修复系统选项 采用下面帖子中的部分命令搞定之. 我自己是直接使用:选 ...

  6. Oracle 18c新特性一览

    1. 一般新特性 1.1. Shadow Lost Write Protection Shadow lost write protection检测到一个丢失的写,它会导致一个主要的数据损坏.可以在不需 ...

  7. VUE入门准备------>ES6

    声明变量的方式:  var  let   const let  和 var的区别 var定义的变量是全局的会覆盖全局的定义 ; ;i<;i++){ console.log(i) } undefi ...

  8. 在 vSphere 5.x/6.0 中配置 Network Dump Collector 服务 (2002954)

    vmware KB: https://kb.vmware.com/s/article/2002954?lang=zh_CN 重点配置命令: 使用 vSphere Client 连接到 vCenter ...

  9. centos7.4之zabbix4.0的fping监控

    参考博文: https://www.cnblogs.com/lei0213/p/8859326.html 注释:他是额外安装fping的:因为我yum安装的zabbix,fping就已经自带了:安装步 ...

  10. IP地址编址

    比特:一比特就是一个数字,1或者0. 字节:以字节是7比特或者8比特,取决于是否使用奇偶校验 八位组:8比特构成 网络地址:用来将数据包发送到远端网路 比如10.0.0.0 广播地址:将信息发送给网络 ...