刚刚心血来潮,试一试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. Ubuntu中利用rename批量重命名

    1.简介: 通常在机器视觉的学习过程中,需要批量处理一些图片,通常会涉及到批量重命名的问题,可以利用rename命令快速实现图片的批量重命名 2.rename命令格式: rename [-v] [-n ...

  2. CSDN博客大事日记1

    一.       2016-10-18,申请了博客专家,但是因为PV不够,所以很荣幸的成为了一名CSDN准博客专家,接下,得更加努力了争取早日成为博客专家,在此立帖为证哦.               ...

  3. ArcGIS10.3+Oracle12C+ArcGIS Server10.3安装布署(之二)

    1.创建PDB 输入 dbca 命令 2.安装完成后,连接PDBSDE的容器数据库 3.环境变量 从Oracle的官方网站下载   instantclient-basic-nt-12.1.0.2.0. ...

  4. Android开发各种Utils收集库

    为方便查找,已进行大致归类,其目录如下所示: Activity相关→ActivityUtils.java→Demo isActivityExists : 判断是否存在Activity launchAc ...

  5. 分布式部署下的报表调用 API调用 权限问题以及性能方案

     背景描述: 客户的实际情况是需要在具体系统构架前,通过与厂商讨论确定最终的系统架构方案. 需求是客户自己有管理系统,希望建立一个独立的报表服务器,该报表服务器可以对多个管理系统提供报表服务,不知 ...

  6. ahjesus wp-autopost破解版,亲测可用

    在funtion.php里 把fetchUrl 这个函数的判断去掉 直接执行判断为真的结果下面是修改后的函数 function fetchUrl($_var_22){        global $w ...

  7. ansible 一键部署

    start install: rpm   -Uvh   https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm yum  in ...

  8. 给UIScrollView添加category实现UIScrollView的轮播效果

    给UIScrollView添加category实现UIScrollView的轮播效果 大家都知道,要给category添加属性是必须通过runtime来实现的,本教程中给UIScrollView添加c ...

  9. Redis学习---Redis操作之有序集合

    有序集合,在集合的基础上,为每元素排序:元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值,即:值和分数,分数专门用来做排序. zadd(name, *args, **kw ...

  10. CSS学习摘要-布局

    注:全文摘自MDN-介绍CSS布局 CSS页面布局技术允许我们拾取网页中的元素,并且控制它们相对正常布局流.周边元素.父容器或者主视口/窗口的位置.在这个模块中将涉及更多关于页面布局技术的细节: 浮动 ...