c STL 泛型 模板

2021-07-28 06:48:53 字數 918 閱讀 5177

動態多型 執行期間 物件導向

純虛函式 強制實現

更難除錯,執行更快

靜態多型 編譯期間 泛型

必須實現那些介面 非強制實行

份檔案寫注意

template

class demo

public:

template

void assign(const x val);

template

//注意順序

template

void assign(const x val);

不同型別呼叫

demo demo_int;

demo demo_double;

demo_int.assign(demo_double.getval());//使用統一介面獲取,因為是兩個class()

//寫operator= 注意

全特化,編譯時生成,是個全新的類,需要全部重寫

templatet>

class

demo

template<>//特化int型別需要重新寫

class

demo

>

偏特化,特化一部分,其餘的**編譯器還是會幫你生成

template<>

class

demo

*>::demo()//偏特化demo()構造,特化一部分

模板類繼承

templatet>

class

sondemo::public

demo

>

模板類單例模式,當包裝器

把模板類做成單利模式,裡面包裝的類都會變成包裝器

泛型 模板函式 模板類

函式模板的性質 1 函式模板並不是真正的函式,它只是c 編譯生成具體函式的乙個模子。2 函式模板本身並不生成函式,實際生成的函式是替換函式模板的那個函式,比如上例中的add sum1,sum2 這種替換是編譯期就繫結的。3 函式模板不是只編譯乙份滿足多重需要,而是為每一種替換它的函式編譯乙份。4 函...

C STL模板 stack queue 使用

1 stack stack 模板類的定義在標頭檔案中。stack 模板類需要兩個模板引數,乙個是元素型別,乙個容器型別,但只有元素型別是必要 的,在不指定容器型別時,預設的容器型別為deque。定義stack 物件的示例 如下 stacks1 stacks2 stack 的基本操作有 入棧,如例 s...

C STL 標準模板庫

1.泛型程式設計 在c 中,模板是泛型程式設計的基礎。下面有乙個stl初體驗的 include include include include include include using namespace std 自定義函式物件 template class square int test int...