c++ STL中,vector和set都實現了對一類對象的存儲,然後都可以查找、添加、刪除、修改。這兩個功能看似如此相似,c++為什麼會設計這樣重復的東西。既生瑜何生亮,既生vector,何生set。當然不是,c++引進vector、set有其細致的考慮。 首先vector屬於順序容器,其元素與存儲位置與操作操作有關;set屬於關聯容器,其元素相當於鍵值。 vector擅長於解決某個位置是什麼值的問題,而set擅長於解決,某個元素在那個位置的問題,知道元素的內容,查找它的位置。因此vector特別好的支持隨機訪問,而set不支持(不支持下標訪問)。