C 泛型程式設計基礎

2022-03-05 08:53:24 字數 665 閱讀 8386

泛型程式設計技術支援程式設計師建立函式和類的藍圖(即模板,template),而不是具體的函式和類。

定義模板:template

1.函式模板

template 

void

foo(t param)

t代表一種不確定的資料型別。

example:

template 

void swap(t &a,t &b)

2.類模板

(1)類的宣告

template 

class

myclass

(2)構造器的實現

template myclass

::myclass()

注意:構造器模板裡的型別的名字不需要與在類宣告裡使用的那個保持一致,也可以這樣:

template myclass

::myclass()

3.容器和演算法

能容納兩個或更多個值的資料結構通常稱為容器。

建立乙個特定型別的向量 vector

std::vectorvectorname;

.....

c 泛型程式設計

對於兩個不同的概念a和b,如果概念a所需求的所有功能也是概念b所需求的功能,那麼就說概念b是概念a的子概念。例如 標準模板庫 standard template library,簡稱stl 提供了一些非常常用的資料結構和演算法 將函式物件作為演算法的引數而不是將函式所執行的運算作為演算法的一部分。使...

C 泛型程式設計

1.模板介紹 泛型程式設計 指的是直接應用 使用模板編寫好的函式模板或類模板庫程式 進行程式設計。在具體使用時,程式設計師只需向使用的庫函式或類模板提供型別或值即可。模板是泛型程式設計的基礎。比如使用標準模板庫中的容器 迭代器進行程式設計,就是泛型程式設計。模板函式 模板函式 強調的是函式,函式使用...

C 2 0泛型程式設計基礎

最顯著的一點就是它引數化了型別,把型別作為引數抽象出來,從而使我們在實際的運用當中能夠更好的實現 的重複利用,同時它提供了更強的型別安全,更高的效率,不過在約束方面,它只支援顯示的約束,這樣在靈活性方面就顯得不是那麼好了。我覺得它之所以能夠提供更高的效率是因為泛型在例項化的時候採用了 on dema...