何謂泛型程式設計?

2021-08-29 04:32:54 字數 567 閱讀 8795

泛型

賦予了型別引數式多型的能力

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

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

[url=

泛型程式設計之泛型引數

問題 用c 語言實現求乙個數的平方。分析 乙個數,可以是int double complex等,規則求數的平方 x x 偽 sqrt x return x x 實現一 提供一組用於求不同數字型別的平方函式。int sqrtint int x int sqrtdouble double x 實現二 上...

泛型程式設計0

最近寫演算法,習慣上了泛型程式設計,一敲鍵盤,就會不由自主的打出乙個 template 出來。比如前一陣子的萬用字元搜尋庫的模組,以及剛剛完成的通用集合運算。通用集合運算的主要功能是 輸入 集合列表,集合列表索引的並 交 差運算資訊串 輸出 集合列表在該資訊串的運算下所得結果集合 比如 setlis...

模板 泛型程式設計

我們從乙個很簡單的問題來進入泛型程式設計 question 如何寫乙個通用的加法函式 使用函式過載。針對每乙個所需相同行為的不同型別重新實現 函式過載的缺點 1 只要有 型別出現,就要重新新增對應函式 2 除型別外,所有函式的函式體都相同,的復用率不高 3 如果函式知識返回值型別不同,函式過載不能解...