【发布时间】:2010-11-17 06:22:29
【问题描述】:
多重集如何工作?如果一个集合不能有一个值映射到一个键,它是否只包含键?
另外,关联容器是如何工作的?我的意思是内存中的向量和双端队列是顺序定位的,这意味着如果它们很大,删除/删除(除了开始[deque]和结束[vector,deque])会很慢。
而列表是一组指针,它们不是按顺序位于内存中的,这会导致搜索时间更长,但删除/删除速度更快。
集合、映射、多重集合和多重映射如何存储以及它们如何工作?
【问题讨论】:
-
STL 基本上是模板代码,整个源代码在头文件中可用。您可以获取特定代码并检查内部实现
-
我认为对于初级程序员来说,理解标头实现的模板代码并不容易。但我认为几乎所有 C++ 书籍都描述了大多数容器的一般概念和用例。
-
阅读关联容器后不在 Primer C++ 中。没有关于性能和解释它内部如何工作的线索:(
标签: c++ data-structures stl dictionary set