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

 

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

C++STL之unordered_map与QT的QHash对比 随笔 第1张

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

C++STL之unordered_map与QT的QHash对比 随笔 第2张

 

 贴上代码:

 

 

 

 1 #include <QCoreApplication>
 2 #include <QHash>
 3 #include <QDebug>
 4 #include <time.h>
 5 
 6 QHash<QString,int> val;
 7 
 8 void pmap(QString a)
 9 {
10     qDebug() << a << ':' << val[a] << '\n';
11 }
12 
13 
14 int main(int argc, char *argv[])
15 {
16     QCoreApplication a(argc, argv);
17 
18     val.insert("很伤心",555);
19     val.insert("很崇拜",666);
20     val.insert("贼牛逼",777);
21     val.insert("叫爸爸",88);
22     val[""] = 8;
23     pmap("很伤心");
24     pmap("很崇拜");
25     pmap("贼牛逼");
26     pmap("叫爸爸");
27     pmap("");
28     pmap("");
29     qDebug()<<'\n'<<clock();
30     return a.exec();
31 }

 

 

 

接下来STL,我用的是VS2019:

 

 

 

C++STL之unordered_map与QT的QHash对比 随笔 第3张

 

 

 

看到了吗?

多长志气!!

 

 

 

贴上VS的代码:

 1 #include <iostream>
 2 #include <unordered_map>
 3 #include <time.h>
 4 using namespace std;
 5 typedef pair<string, int> p;
 6 unordered_map<string, int> val;
 7 auto pmap(string a)
 8 {
 9      cout << a << ':' << val[a] << endl;
10 }
11 int main()
12 {
13     val.insert(p("很伤心",555));
14     val.insert(p("很崇拜",666));
15     val.insert(p("贼牛逼",777));
16     val.insert(p("叫爸爸",88));
17     val[""] = 8;
18     pmap("很伤心");
19     pmap("很崇拜");
20     pmap("贼牛逼");
21     pmap("叫爸爸");
22     pmap("");
23     pmap("");
24     cout << clock();
25 }

 

 

 

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

 

 

 

 

C++STL之unordered_map与QT的QHash对比 随笔 第4张

 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();
}

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄