函式模板的基本語法

2021-08-19 01:50:08 字數 1134 閱讀 9038

實際上是建立乙個通用函式,其函式型別和形參型別不具體制定,用乙個虛擬的型別來代表。這個通用函式就成為函式模

板 c++提供兩種模板機制:函式模板和類模板

 類屬- 型別引數化,又稱引數模板

使得程式(演算法)可以從邏輯上抽象,把被處理的物件(資料)型別作為引數傳遞。

用模板是為了實現泛型,可以減輕程式設計的工作量,增強函式的重用性。

基本語法如下:

template//template也可以這麼寫,

void myswap(t &a, t&b)

/**

*filename: 1 template.cpp

*author: young fan

*date: 2018.4.19

*ide: visual studio 2017

*description: 函式模板的基本語法

*/#include

using

namespace

std;

#if 0

//int型別的資料交換

void myswap(int &a, int &b)

//double型別的資料交換

void myswap(double &a, double &b)

#endif

//每種格式都要寫一種,很麻煩,為此引出模板函式

//用模板是為了實現泛型,可以減輕程式設計的工作量,增強函式的重用性。

//模板技術,型別引數化,編寫**可以忽略型別

//為了讓編譯器區分是普通函式還是模板函式

//告訴編譯器我下面寫的是模板函式,不是奇怪的東西,不要報錯

template

//template也可以這麼寫,

void myswap(t &a, t&b)

void test1()

int main()

 模板把函式或類要處理的資料型別引數化,表現為引數的多型性,成為類屬。

 模板用於表達邏輯結構相同,但具體資料元素型別不同的資料物件的通用行為。

顯式地指定型別,可以按照下面的方式寫:

myswap(a,b);

函式模板基本語法

template class t intmyadd t a,t b intmyadd int a,char c void test02 函式模板允許過載 程式執行時編譯器先索引普通函式,之後才呼叫模板,如果要考慮模板函式優先,可以呼叫時加上語句 myadd a,b 編譯器 彙編器將 s彙編檔案鏈結生...

02函式模板基本語法

template 宣告建立模板 typename 表面其後面的符號資料型別 可以用class代替 t 通用資料型別 名稱可以替換 通常為大寫字母 include using namespace std template typename t typename換作class也可 void myswap...

C 語法小記 函式模板

函式模板 建議 將返回值型別作為第乙個模板引數 1 include 2 include 34 using namespace std 56 template7 void swap t l,t r 813 14 template15 t add t l,t r 1620 21int add int l...