C 學習(十八) 模板(二)

2021-10-03 20:33:26 字數 1128 閱讀 3255

模板機制

模板的侷限性

模板並不是真正的通用的**,對於一些自定義資料型別,模板有時候不能實現效果

可以通過具體化實現對自定義資料型別進行操作。

#include

#include

using

namespace std;

class

person

string m_name;

int m_age;

protected

:private:}

;// 通過模板進行兩個數的比較

template

<

class

t>

bool

mycompare

(t &a, t&b)

return

false;}

// 利用具體化person函式,告訴編譯器走 person對比**

template

<

>

bool mycompare

(person &a, person &b)

return

false;}

void

test01()

else

}int

main()

類模板基本語法

template ***跟著的是個類,那麼這個類稱為類模板

類模板和函式模板的區別:

#include

using

namespace std;

// template ***跟著的內容是類,那麼這個類稱為類模板

// 類模板中的型別,也可以有預設引數

// 泛型程式設計 型別引數化

template

<

class

nametype

,class

agetype

>

class

person

nametype m_name;

agetype m_age;};

void

test01()

intmain()

C 模板學習 二)

模板的注意事項 自動型別推導,必須推導出一致的資料型別t,才可以使用 模板必須要確定出t的資料型別,才可以使用 template typename t void myswap t a,t b void test 自動推導資料型別不一樣會報錯,如下 模板必須要確定出t的資料型別才可以使用 templa...

C 學習(十八)C 中的volatile

volatile的本意是 易變的 volatile關鍵字是一種型別修飾符,用它宣告的型別變數表示可以被某些編譯器未知的因素更改,比如作業系統 硬體或者其它執行緒等。遇到這個關鍵字宣告的變數,編譯器對訪問該變數的 就不再進行優化,從而可以提供對特殊位址的穩定訪問。當要求使用volatile 宣告的變數...

C 學習筆記(十八) 檔案操作

檔案型別 二進位制檔案 檔案以文字的二進位制形式儲存 檔案流類 ifstream 專用於從檔案中讀取資料 ofstream 專用於向檔案中寫入資料 fstream 既可寫也可讀,一般使用fstream類,其標頭檔案是fstream.h 使用open函式,open函式是建立檔案流物件和檔案之間的關聯 ...