泛型程式設計基本概念

2021-10-01 10:26:41 字數 904 閱讀 8739

c++是一門很強大的語言,他有兩種機制來提高**的重用性,其中一種通過繼承實現。另外一種就是泛型。使用模板的程式設計就是泛型程式設計。在c++中模板有兩種體現形式,一種是類模板,一種是函式模板

簡單地說就是使用模板的程式設計法。將一些常用的資料結構(比如鍊錶,陣列,二叉樹)和演算法(比如排序,查詢)寫成模板,以後則不論資料結構裡放的是什麼物件,演算法針對什麼樣的物件,則都不必重新實現資料結構,重新編寫演算法。標準模板庫 (standard template library) 就是一些常用資料結構和演算法的模板的集合。有了stl,不必再寫大多的標準資料結構和演算法,並且可獲得非常高的效能。

(1)容器:

可容納各種資料型別的通用資料結構,是類模板。

(2)迭代器:

可用於依次訪問容器中元素,類似於指標。(用起來像指標,內部也是用指標實現的。)

(3)演算法:

用來操作容器中的元素的函式模板。

演算法舉例:

注意:演算法本身與他們操作的資料的型別無關,因此他們可以在從簡單陣列到高度複雜容器的任何資料結構上使用。

迭代器舉例:

int array[

100]

;sort

(array,array+70)

;//將前70個元素排序

該陣列就是容器,而int * 型別的指標變數就可以作為迭代器(作為陣列的迭代器)(array、array+70 都是迭代器),sort演算法可以作用於該容器上,對其進行排序。

c 泛型委託基本概念(過載)

泛型委託是基於委託之上,可以利用過載和泛型進行。在這裡插入描述 利用泛型可以將委託在函式中進行過載和返回值同時利用get進行輸出,並返回值。過載中用大寫t u m k等代表數值型別,在數值真正傳入之後再真正確認數值型別可以可以方便後續的寫 當委託用泛型輸出的時候,即使有過載也不會有問題,即使如上一樣...

程式設計基本概念

程式設計基本概念 一 賦值語句 1.c c code int i 1 void main 在c 中,這樣的賦值操作時合法的,int i i,i變數從宣告的那一刻起就是可見的,main 裡的i不是1,因為它與mian 外的i無關,而是乙個未定義的值。2.include using namespace ...

泛型程式設計 元程式設計的概念

泛型程式設計 generic programming 最初提出時的動機很簡單直接 發明一種語言機制,能夠幫助實現乙個通用的標準容器庫 關於泛型的理解可以總結下面的一句話,它是把資料型別作為一種引數傳遞進來。元程式設計 metaprogramming 是指某類電腦程式的編寫,這類電腦程式編寫或者操縱其...