template
<
typename t>
void
swap
(t& left,t& right)
intmain()
在編譯器編譯階段,對於模板函式的使用,編譯器需要根據傳入的實參型別來推演生成對應型別的函式以供呼叫。比如:當用double型別使用函式模板時,編譯器通過對實參型別的推演,將t確定為double型別,然後產生乙份專門處理double型別的**,對於字元型別也是如此。
template
<
class
t>
t add
(const t& left,
const t& right)
intmain()
// 專門處理int的加法函式
intadd
(int left,
int right)
// 通用加法函式
template
<
class
t>
t add
(t left, t right)
void
test()
// 通用加法函式
template
<
classt1,
class
t2>
t add
(t1 left, t2 right)
void
test()
3.模板不允許自動型別轉換,但普通函式可以進行自動型別轉換。
template
<
typename t1,
typename t2,..
..>
class 型別板名
;
#include
#include
using
namespace std;
//動態順序表的實現
template
<
class
t>
class
vector
//析構函式
~vector()
}void
pushback
(const t& data)
}void
popback()
size_t size()
t&operator
(size_t pos)
}private
: t* _array;
size_t _size;
size_t _capacity;};
intmain()
cout << endl;
return0;
}
C 模板初階
1.4普通函式和函式模板的區別 1.5普通函式和模板函式的呼叫規則 2.類模板 c 中的另一種程式設計思想成為泛型程式設計 編寫與型別無關的通用 是 復用的一種手段 主要利用的技術就是模板。c 中提供兩種模板機制 函式模板和類模板 函式模板代表了乙個函式家族,該函式模板與型別無關,在使用時被引數化,...
Cpp 模板初階
title 模板初階 date 2019 03 18 20 37 56 tags cpp categories cpp toc true 告訴編譯器乙個模子,讓編譯器根據不同的型別利用該模子來生成 泛型程式設計 編寫與型別無關的通用 是 復用的一種手段。模板是泛型程式設計的基礎。函式模板代表了乙個函...
C 模板初階 函式模板和類模板
本節內容 泛型程式設計 函式模板 類模板1.泛型程式設計 首先問大家乙個問題,如果我們想實現乙個通用的交換函式,該怎麼做呢?我想大家會想到用過載,將不同型別引數的函式都寫出來,這是乙個解決的辦法,不過emmm 自己看 void swap int left,int right void swap do...