Standard Template Library (STL) map 与 Python dict

Standard Template Library (STL) map 与 Python dict

1. 关联容器 / 关系容器 (associative containers)

关联容器 (例如 map<K, T>) 最重要的特性是无须搜索就可以检索特定对象。关联容器内 T 类型对象的位置由与对象一起提供的类型为 K 的键确定,因此只要提供适当的键,就可以快速地检索任何对象。

对于 set<T>multiset<T> 容器,对象作为它们自己的键。我们可能会疑惑该容器的用途,因为在检索对象前必须有可用的对象。集合容器和多重集合容器主要不是为了存储对象用于以后检索,而是为了创建对象的一个聚集,以便可以查看给定对象是否已经是成员。

集合容器和多重集合容器很少使用,它们的操作与映射容器和多重映射容器非常类似。

当创建 map<K, T> 容器时,K 是键的类型,用于存储 T 类型的关联对象。键/对象对会存储为 pair<K, T> 类型的对象,pair<K, T>utility 头文件中定义。utility 头文件包含在 map 头文件中,所以其类型定义自动可用。下面是创建映射的一个示例:
std::map<Person, std::string> phonebook;
此代码定义了一个空映射容器,用来存储键/对象对条目,其中键的类型是 Person,对象的类型是 string

2. Python dict (字典)

References

Ivor Horton’s Beginning Visual C++ 2013
http://www.wrox.com/WileyCDA/WroxTitle/productCd-1118845714.html

发布了443 篇原创文章 · 获赞 1685 · 访问量 101万+

猜你喜欢

转载自blog.csdn.net/chengyq116/article/details/104234141