C++ unordered_map 的基本使用
Posted bcbobo21cn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ unordered_map 的基本使用相关的知识,希望对你有一定的参考价值。
unordered_map
关联性:std::unorederd_map 是一个关联容器,其中的元素根据键来引用,而不是根据索引来引用。
无序性:在内部,std::unordered_map中的元素不会根据其键值或映射值按任何特定顺序排序,而是根据其哈希值组织到桶中,以允许通过键值直接快速访问各个元素(常量的平均时间复杂度)。
唯一性:std::unorederd_map中的元素的键是唯一的。
// assignment operator with unordered_map
#include <iostream>
#include <string>
#include <unordered_map>
typedef std::unordered_map<std::string, std::string> stringmap;
stringmap merge(stringmap a, stringmap b)
stringmap temp(a);
temp.insert(b.begin(), b.end());
return temp;
int main()
//stringmap first, second, third;//此处连续定义三个会报错。
stringmap first = "A1", "Apple" , "M1", "Microsoft" ; // init list
stringmap second = "G1", "Google" , "O1", "Oracle" ; // init list
stringmap third = merge(first, second); // move
first = third; // copy
std::cout << "first contains:"<<std::endl;
for (auto& elem : first)
std::cout << elem.first << ":" << elem.second<<std::endl;
std::cout << std::endl;
system("pause");
return 0;
在VS2012中构建,
将出现 不能用初始值设定项列表初始化非聚合 错误;
用DevCpp构建,先设置支持C++11;
运行如下;
根据资料VS2012不完全支持C++11;
以上是关于C++ unordered_map 的基本使用的主要内容,如果未能解决你的问题,请参考以下文章