日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

普通函数与函数模板的区别

發(fā)布時(shí)間:2025/4/16 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 普通函数与函数模板的区别 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

普通函數(shù)與函數(shù)模板區(qū)別:

  • 普通函數(shù)調(diào)用時(shí)可以發(fā)生自動(dòng)類型轉(zhuǎn)換(隱式類型轉(zhuǎn)換)

  • 函數(shù)模板調(diào)用時(shí),如果利用自動(dòng)類型推導(dǎo),不會(huì)發(fā)生隱式類型轉(zhuǎn)換

  • 如果利用顯示指定類型的方式,可以發(fā)生隱式類型轉(zhuǎn)換


#include <iostream> using namespace std; //普通函數(shù) int myAdd01(int a, int b) {return a + b; }//函數(shù)模板 template<class T> T myAdd02(T a, T b) {return a + b; }//使用函數(shù)模板時(shí),如果用自動(dòng)類型推導(dǎo),不會(huì)發(fā)生自動(dòng)類型轉(zhuǎn)換,即隱式類型轉(zhuǎn)換 void test01() {int a = 10;int b = 20;char c = 'c';cout << myAdd01(a, c) << endl; //正確,將char類型的'c'隱式轉(zhuǎn)換為int類型 'c' 對(duì)應(yīng) ASCII碼 99//myAdd02(a, c); // 報(bào)錯(cuò),使用自動(dòng)類型推導(dǎo)時(shí),不會(huì)發(fā)生隱式類型轉(zhuǎn)換myAdd02<int>(a, c); //正確,如果用顯示指定類型,可以發(fā)生隱式類型轉(zhuǎn)換 }int main() {test01();system("pause");return 0; }



建議使用顯示指定類型的方式調(diào)用函數(shù)模板,因?yàn)榭梢宰约捍_定通用類型T



普通函數(shù)與函數(shù)模板的調(diào)用規(guī)則

調(diào)用規(guī)則如下:

  • 如果函數(shù)模板和普通函數(shù)都可以實(shí)現(xiàn),優(yōu)先調(diào)用普通函數(shù)

  • 可以通過(guò)空模板參數(shù)列表來(lái)強(qiáng)制調(diào)用函數(shù)模板

  • 函數(shù)模板也可以發(fā)生重載

  • 如果函數(shù)模板可以產(chǎn)生更好的匹配,優(yōu)先調(diào)用函數(shù)模板

  • #include <iostream> using namespace std; //普通函數(shù)與函數(shù)模板調(diào)用規(guī)則 void myPrint(int a, int b) {cout << "調(diào)用的普通函數(shù)" << endl; }template<typename T> void myPrint(T a, T b) { cout << "調(diào)用的模板" << endl; }template<typename T> void myPrint(T a, T b, T c) { cout << "調(diào)用重載的模板" << endl; }void test01() {//1、如果函數(shù)模板和普通函數(shù)都可以實(shí)現(xiàn),優(yōu)先調(diào)用普通函數(shù)// 注意 如果告訴編譯器 普通函數(shù)是有的,但只是聲明沒有實(shí)現(xiàn),或者不在當(dāng)前文件內(nèi)實(shí)現(xiàn),就會(huì)報(bào)錯(cuò)找不到int a = 10;int b = 20;myPrint(a, b); //調(diào)用普通函數(shù)//2、可以通過(guò)空模板參數(shù)列表來(lái)強(qiáng)制調(diào)用函數(shù)模板myPrint<>(a, b); //調(diào)用函數(shù)模板//3、函數(shù)模板也可以發(fā)生重載int c = 30;myPrint(a, b, c); //調(diào)用重載的函數(shù)模板//4、 如果函數(shù)模板可以產(chǎn)生更好的匹配,優(yōu)先調(diào)用函數(shù)模板char c1 = 'a';char c2 = 'b';myPrint(c1, c2); //調(diào)用函數(shù)模板 }int main() {test01();system("pause");return 0; }



    總結(jié):既然提供了函數(shù)模板,最好就不要提供普通函數(shù),否則容易出現(xiàn)二義性

    總結(jié)

    以上是生活随笔為你收集整理的普通函数与函数模板的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲一区二区免费视频 | 超碰99热| 精品国产一区二 | 欧美大片xxx | 中文亚洲欧美 | 七仙女欲春2一级裸体片 | 夫妻露脸自拍[30p] | 另类小说亚洲色图 | 国产精品区二区三区日本 | 日本在线不卡一区二区 | 国产主播99 | 亚洲国产欧美在线 | 国产日本欧美一区二区 | 日本高清www免费视频 | 伦理片一区二区三区 | www.av在线免费观看 | 一区二区三区四区在线免费观看 | 男人久久 | 91黄色免费 | 91嫩草入口 | 2020国产精品 | 逼逼爱插插网站 | 成人免费视频网 | 精品一区二区三区在线免费观看 | 久久综合狠狠 | 国产午夜在线观看 | 久久夜精 | 日韩av日韩 | 欧美性久久久久 | 大吊一区二区三区 | 日本黄色三级 | 在线视频亚洲 | 国产在线观看无码免费视频 | 大战熟女丰满人妻av | 香蕉久久影院 | 精品无码国产污污污在线观看 | 中文字幕在线视频不卡 | 欧洲亚洲国产精品 | www成年人 | 天天爱天天插 | 欧美午夜在线 | 中文字幕av久久爽 | 久久久一级 | 特黄视频在线观看 | 国产激情啪啪 | xxx69美国 | 嫩草影院一区 | 欧美乱论| 激情插插插 | 亚洲综合成人av | 婷婷久久久久久 | 成人精品999 | 黄色国产一级片 | 国产福利视频在线 | 欧美精品日韩少妇 | 日本一区视频在线 | 天天操天天艹 | 亚洲一区二区精品在线观看 | 亚洲视频1区 | 巨胸大乳www视频免费观看 | 超碰在线网站 | 亚洲精品一线二线三线 | 亚洲五码av | 中国黄色a级| 91精品国产91久久久久久 | 日日夜夜爱 | 嫩草视频一区二区三区 | 男生捅女生肌肌 | 深夜在线网站 | 日韩视频免费看 | 黄色操人 | 欧美一级不卡 | 69色综合 | 差差差30分钟 | 自拍偷拍第一页 | 波多野结衣在线网址 | www.在线观看麻豆 | 欧美日韩黑人 | 黄色片网站在线免费观看 | 欧美精品导航 | 精品人妻互换一区二区三区 | av黄色在线| 亚洲无人区码一码二码三码的含义 | 一级特黄录像免费看 | 免费在线视频观看 | √资源天堂中文在线视频 | 少妇做爰免费视看片 | 久久九九精品视频 | 在线视频第一页 | 国产精品无码一本二本三本色 | 国产一级做a爰片在线看免费 | 国产成人av免费 | 久久视频在线看 | 越南黄色一级片 | 中文字幕免费播放 | 中文av免费 | 亚洲精品天堂在线观看 | 午夜时刻免费入口 | 91久久人澡人人添人人爽欧美 |