c++ STL中,vector和set都实现了对一类对象的存储,然后都可以查找、添加、删除、修改。这两个功能看似如此相似,c++为什么会设计这样重复的东西。既生瑜何生亮,既生vector,何生set。当然不是,c++引进vector、set有其细致的考虑。
首先vector属于顺序容器,其元素与存储位置与操作操作有关;set属于关联容器,其元素相当于键值。
vector擅长于解决某个位置是什么值的问题,而set擅长于解决,某个元素在那个位置的问题,知道元素的内容,查找它的位置。因此vector特别好的支持随机访问,而set不支持(不支持下标访问)。
本文探讨了C++标准模板库中vector与set两种容器的不同之处。vector为顺序容器,支持快速随机访问;而set作为关联容器,擅长通过元素内容查找位置。两者在存储方式与操作特性上各有侧重。
1407

被折叠的 条评论
为什么被折叠?



