国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

函數(shù)模板

2019-11-14 09:26:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

函數(shù)模板,將同一種函數(shù)算法應(yīng)用于各種數(shù)據(jù)類型。

聲明:

template <typename T>

void swap(T & a,T & b);

定義:

template <typename T>

void swap(T & a,T & b)

{

T temp;

temp = a;

a = b;

b = temp;

}

注意函數(shù)模板不能縮短可執(zhí)行程序,最終的代碼不包含任何模板,只包含了為程序生成的實(shí)際函數(shù)。函數(shù)模板的好處在于,使得生成多個(gè)函數(shù)定義更簡(jiǎn)單、更可靠。

重載和函數(shù)模板結(jié)合時(shí),并不要求模板參數(shù)都必須是模板參數(shù)類型。

為特定類型提供具體化模板定義,稱為顯式具體化。當(dāng)編譯器找到與函數(shù)調(diào)用匹配的具體化定義時(shí),將使用該定義而不再尋找其模板。具體化優(yōu)先于常規(guī)模板,而非模板函數(shù)優(yōu)先于具體化和常規(guī)模板。

用顯式具體化,要求原型和定義用template <>打頭。

template <typename T>

void swap(T &,T &);

template <> void swap(job &,job &);

或者:

template <> void swap<job>(job &,job &);

以上均為隱式實(shí)例化,由編譯器根據(jù)參數(shù)類型推斷。而顯式實(shí)例化直接指定生成哪一種類型示例,由template打頭:

template void swap<int>(int &,int &);

顯式實(shí)例化作用為減少推斷隱式實(shí)例化的必要,提高編譯效率。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宿迁市| 长治市| 普陀区| 合阳县| 胶南市| 涿鹿县| 宁阳县| 阳朔县| 沂水县| 余江县| 北票市| 抚顺县| 大姚县| 临夏县| 长汀县| 吉安市| 和林格尔县| 保亭| 阿坝| 阿拉尔市| 松滋市| 德令哈市| 马关县| 石柱| 鹤山市| 遂平县| 郧西县| 淳化县| 榆林市| 宾川县| 开远市| 临夏县| 永善县| 潮安县| 泗水县| 丰顺县| 普洱| 元氏县| 宁强县| 成武县| 泸溪县|