c++具體化和實例化的區(qū)別

首先:
區(qū)分 非模板函數(shù) 模板函數(shù) 具體化
非模板函數(shù)就是沒有template<typename Type>
模板函數(shù)就是有template<typename Type>在前面的
template<typename T>
void Swap(T &a, T &b)
{
balabala
}
具體化:
template <> void Swap<job>(job &1 ,job &2)
{
和前面的函數(shù)模板的實現(xiàn)是不同的
}

接著,看看實例化和具體化
實例化: 使用模板的特定類型生成函數(shù)定義的時候,得到的就是模板的實例
例如:
在main()里面
template void Swap<char>(char&,char&);這個就是顯示實例化
在后面可以這樣使用:
char g,h;
Swap(g,h);

也可以不用顯示實例化,而使用隱式實例化:
short a,b;
Swap(a,b);這個就是隱式實例化;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容