我听到很多人说,如果容器中预期的元素数量相对较少,那么最好使用 std::vector
而不是 std::map
,即使您只使用容器进行查找而不进行迭代。
这背后的真正原因是什么?
显然,std::map
的查找性能不可能比 std::vector
差(尽管它可能在纳秒/微秒之间有所不同) ,那么它是否与内存使用有关?
在分割虚拟地址空间方面,std::vector
是否比 std::map
做得更好或更差?
我使用的是 Visual Studio 附带的 STL 库(也就是微软的实现)。与其他实现相比,这有什么不同吗?