泛型程式設計 STL是什麼

2021-05-22 23:29:12 字數 748 閱讀 9120

泛型程式設計讓你編寫完全一般化並可重複使用的演算法,其效率與針對某特定資料型別而設計的演算法相同。泛型程式設計的代表作品stl是一種高效、泛型、可互動操作的軟體元件。所謂泛型(genericity),是指具有在多種資料型別上皆可操作的含意,與模板有些相似。stl巨大,而且可以擴充,它包含很多計算機基本演算法和資料結構,而且將演算法與資料結構完全分離,其中演算法是泛型的,不與任何特定資料結構或物件型別繫在一起。stl以迭代器(iterators)和容器(containers)為基礎,是一種泛型演算法(generic algorithms)庫,容器的存在使這些演算法有東西可以操作。stl包含各種泛型演算法(algorithms)、泛型指標(iterators)、泛型容器(containers)以及函式物件(function objects)。stl並非只是一些有用元件的集合,它是描述軟體元件抽象需求條件的乙個正規而有條理的架構。

泛型的第乙個好處是編譯時的嚴格型別檢查。這是集合框架最重要的特點。此外,泛型消除了絕大多數的型別轉換。如果沒有泛型,當你使用集合框架時,你不得不進行型別轉換。

關於泛型的理解可以總結下面的一句話,它是把資料型別作為一種引數傳遞進來。

什麼是stl呢?

stl就是standard template library,標準模板庫。這可能是乙個歷史上最令人興奮的工具的最無聊的術語。從根本上說,stl是一些「容器」的集合,這些「容器」有list,vector,set,map等,stl也是演算法和其他一些元件的集合。這裡的「容器」和演算法的集合指的是世界上很多聰明人很多年的傑作。

泛型是什麼

類似c 的模板template c 的泛型是在例項的方法被呼叫時檢查過載是否產生混淆,而不是在泛型類本身編譯時檢查。同時還得出乙個重要原則 當一般方法與泛型方法具有相同的簽名時,會覆蓋泛型方法。泛型中的靜態成員變數 在c 1.x中,我們知道類的靜態成員變數在不同的類例項間是共享的,並且他是通過類名訪...

泛型是什麼?

泛型用乙個通用的資料型別t來代替object,在類例項化時指定t的型別,執行時 runtime 自動編譯為本地 執行效率和 質量都有很大提高,並且保證資料型別安全。如果不使用泛型,可能出現的問題 如果傳的int型別引數,要寫乙個方法。如果傳string型別引數,還要寫乙個方法。public clas...

C 泛型是什麼

泛型聽起來很高深的乙個詞,但實際上它的作用很簡單,就是提高c 程式的效能。比如在計算機中經常用到一些資料結構,如佇列,鍊錶等,而其中的元素以前一般這麼定義 object a new object 這樣就帶來乙個嚴重的問題,用object來表示元素沒有邏輯問題,但每次拆箱 封箱就占用了大量的計算機資源...