天天看點

c++提高程式設計 1。模闆

泛型程式設計和STL技術

1、模闆

1.1模闆的概念

模闆就是建立通用的模具,大大提高複用性

模闆不能直接使用,隻是一個架構,也不是萬能的

1.2函數模闆

函數模闆作用:

建立通用函數,其函數傳回類型和形參類型可以不具體指定,用虛拟的類型來代表

文法:

template     <typename T>  

函數聲明或定義

解釋:

template---聲明建立模闆

typename---表明其後面的符号是一個資料類型,可用class代替

T---通用的資料類型,可用其他字元替換

案例:

template     <typename T> 

void mySwap(T &a,T &b)

{

  T temp=a;

  a=b;

  b=temp;

}

void test( )

       int a=10,b=10;

  mySwap(a,b);//1、自動類型推導

  mySwap<int>(a,b);//   2、顯示指定類型

1.3.1類模闆文法

1.3.2類模闆與函數模闆的差別

1.類模闆沒有自動類型推導方式

void test01()

//Person p("孫悟空",200);無法用自動類型推導

Person<string,int>p("孫悟空",200);

2.類模闆在模闆參數可以有預設參數

1.3.3類模闆中的成員函數建立時間

繼續閱讀