哪些STL容器是主要的内存数据结构?

时间:2017-12-22 16:14:45

标签: c++ data-structures stl

我遇到了术语"主要记忆"数据结构。例如herehere以及herehere。谷歌搜索没有给我一个明确的答案,这实际上意味着什么。我得到了一些参考,它意味着用于存储在永久存储器即硬盘中的数据结构。如果是这样,那么当我读取二进制树时,就会在硬盘上存储数据。如果是这样,那么使用二叉树的std :: map将成为主存储器数据结构的一个候选者。还有什么其他例子?

1 个答案:

答案 0 :(得分:1)

首先你理解“主内存”是错误的,主内存用来指系统RAM,硬盘是二级存储。然后有专门的片上缓存,程序通常很少或根本无法控制。

话虽这么说,所有的STL容器都限制为内存托管,但是根据操作系统的不同,这可能包括将部件从主内存换成磁盘作为虚拟内存的一部分,但是,程序也是如此很少或没有控制权。只要程序处于活动状态,这种磁盘支持就会持续,终止后它不会持久存在。

虽然b-tree是坚持磁盘备份存储的一个很好的候选者,但通常的二叉树却不是。在这种情况下,b树和二叉树不是一回事。