vector效率不低了,STL針對不同資料集合操作定義了不同的容器,假如容器的操作效率很低,那當年何必要開發標準庫呢.針對一般的簡單操作來說,用容器代替陣列是很明智的方法,因為陣列的操作是在是不靈活.比如說:當你定義一個數組的時候,你肯定事先要定義這個陣列的長度,就是說你在之後對這個陣列的操作的時候,存放的資料最多不能超過這個長度,假如要增加空間的話,會很麻煩. 假如這裡用vector來操作,就不必那麼麻煩,vector沒有硬性規定需要分配空間,就是說,當你存放的資料過多時,它會自動分配空間來保證所有的資料都有存放在vector裡,當然,也可以手動分配.對於其他類似複製操作的話,效率差不多,建立一份副本的方法,無論用什麼都是一樣的.STL的開發初衷就是為了節省不必要的資料處理,目前看來最實用的屬vector,map和string了.它們分別針對N維陣列,二叉樹或連結串列和字串進行最佳化操作方式,以簡明的方法來達到以前要寫很冗長的程式碼才能完成的目的.總的來說STL就是許多對資料集合,字串等優良演算法的集合體
vector效率不低了,STL針對不同資料集合操作定義了不同的容器,假如容器的操作效率很低,那當年何必要開發標準庫呢.針對一般的簡單操作來說,用容器代替陣列是很明智的方法,因為陣列的操作是在是不靈活.比如說:當你定義一個數組的時候,你肯定事先要定義這個陣列的長度,就是說你在之後對這個陣列的操作的時候,存放的資料最多不能超過這個長度,假如要增加空間的話,會很麻煩. 假如這裡用vector來操作,就不必那麼麻煩,vector沒有硬性規定需要分配空間,就是說,當你存放的資料過多時,它會自動分配空間來保證所有的資料都有存放在vector裡,當然,也可以手動分配.對於其他類似複製操作的話,效率差不多,建立一份副本的方法,無論用什麼都是一樣的.STL的開發初衷就是為了節省不必要的資料處理,目前看來最實用的屬vector,map和string了.它們分別針對N維陣列,二叉樹或連結串列和字串進行最佳化操作方式,以簡明的方法來達到以前要寫很冗長的程式碼才能完成的目的.總的來說STL就是許多對資料集合,字串等優良演算法的集合體