C++11: unordered_map实例化时传参的两种方式

【免责声明】本人乃才疏学浅之辈,此抛砖引玉之举;若有纰漏错误之处,望不吝指正。

【原文链接】C++11: unordered maps By Ernesto Bascón Pantoja's blog

【内容提要】

        1、unordered maps简介
        2、unordered_map实例化时,传参的两种方式

【正文】

       C++ STL提供了一个有序map关联容器(模板类),其内部实现是一种高效的平衡二叉树;这种实现的优点是检索效率高(平均时间复杂度O(log2N),N表示map中元素个数),并且按照已经排列好的次序遍历map容器查找元素。

       C++11增加了一种无序map容器,其内部实现是哈希表。这种实现的显著优点是访问容器中任意元素时间复杂度为常量级(O(1)),但其明显的不足是容器中的元素无序且需要更大的内存空间(与map相比)。

      The API of both kind of maps is quite similar; for example, look at this code:

     上述 两种map容器的API非常相似,如下列示例代码所示:

#include 
#include 
#include 
#include 
 
using namespace std;
 
template 
void show(const T& x)
{
    for (const auto& i : x)
        cout << i.first << "; " << i.second << endl;
}
 
template