泛型演算法提供了許多可作用於容器類以及陣列型別上的操作。這誰演算法之所以被稱為泛型,是因為它們和它們想要操作的元素型別無關。它們同樣也和容器型別無關。 ————【美】stanley b . lippman
# include
# include
using
namespace std;
intmain()
; vector<
int> svec (arry, arry +5)
;for
(vector<
int>
::const_iterator iter = svec.
begin()
; iter != svec.
end();
++iter)
}
迭代器的宣告方式為:容器名《型別名》::iterator 變數名
欲通過iterator取得元素值,一般用指標提領。
vector以一塊連續記憶體來存放元素。適合對其進行隨機訪問但不適合對最後乙個元素以外的任意元素進行插入和刪除操作。
list中的每個元素都包括value、back指標、front指標適合元素的插入刪除操作但不適合隨機訪問。
與vector相似,但對於前端和末端元素插入和刪除效率高。
學習筆記 泛型
object型別引數有2個問題 1 裝箱拆箱,效能損耗 傳入乙個int值 棧 object又在堆裡面,如果把int傳遞進來,就會把值從棧裡面copy到堆裡 使用的時候,又需要用物件值,又會copy到棧 拆箱 2 型別安全問題,可能會有,因為傳遞的物件是沒有限制的 泛型方法與普通方法效能一致,還能乙個...
泛型學習筆記
泛型是 2.0 版 c 語言和公共語言執行庫 clr 中的乙個新功能。泛型將型別引數的概念引入 net framework,型別引數使得設計如下類和方法成為可能 這些類和方法將乙個或多個型別的指定推遲到客戶端 宣告並例項化該類或方法的時候。例如,通過使用泛型型別引數 t,您可以編寫其他客戶端 能夠使...
C 學習筆記 泛型
泛型將型別引數的概念引入了.net,當我們需要設計類和方法,並將它們的型別制定推遲到客戶端 宣告,並例項化該型別和方法時,可以使用泛型。泛型使之前的想法成為了可能。使用泛型避免了執行時強制轉換或裝箱操作帶來的風險。簡單來說,首先制定乙個特定符號代替實際型別,當建立該型別的例項時,才指定它的實際型別。...