藍(lán)鷗iOS培訓(xùn)講師推薦:對(duì)于C來(lái)說(shuō),其實(shí)C與C++的難度應(yīng)該差不多少,都不是特別難,如果有基礎(chǔ)的話,那么學(xué)起來(lái)就更容易了。
建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁(yè)設(shè)計(jì)師等,應(yīng)用各種網(wǎng)絡(luò)程序開(kāi)發(fā)技術(shù)和網(wǎng)頁(yè)設(shè)計(jì)技術(shù)配合操作的協(xié)同工作。創(chuàng)新互聯(lián)專(zhuān)業(yè)提供網(wǎng)站建設(shè)、網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站制作(企業(yè)站、成都響應(yīng)式網(wǎng)站建設(shè)、電商門(mén)戶(hù)網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶(hù)體驗(yàn)的提升,我們力求做到極致!C++為大家提供了函數(shù)模板,那么究竟函數(shù)模板是怎么回事呢?下面來(lái)了解一下!
事實(shí)上所謂的函數(shù)模板就是建立一個(gè)通用函數(shù),其函數(shù)類(lèi)型和形參類(lèi)型不會(huì)具體指定,用一個(gè)虛擬的類(lèi)型來(lái)代表。凡是函數(shù)體相同的函數(shù)都可以用這個(gè)模板來(lái)代替,不用定義多個(gè)函數(shù),只需要在模板中定義一次就可以了。那么在調(diào)用函數(shù)的時(shí)候系統(tǒng)會(huì)根據(jù)實(shí)參的類(lèi)型來(lái)取代模板中的虛擬類(lèi)型,為了實(shí)現(xiàn)不一樣的函數(shù)的的功能。為了方便大家理解,下面給出一個(gè)例子,能夠讓大家更好的理解。
舉例:通過(guò)函數(shù)模板來(lái)實(shí)現(xiàn)(求兩個(gè)整數(shù)或3個(gè)整數(shù)中的大數(shù),如果輸入兩個(gè)整數(shù),程序就輸出這兩個(gè)整數(shù)中的大數(shù),如果輸入3個(gè)整數(shù),程序就輸出這3個(gè)整數(shù)中的大數(shù))
數(shù)據(jù)不用cin語(yǔ)句輸入,而在變量定義時(shí)初始化,程序第3~8行是定義模板。
定義函數(shù)模板的一般形式為:
template
通用函數(shù)定義通用函數(shù)定義
在建立函數(shù)模板時(shí),只要將下面程序中定義的第一個(gè)函數(shù)首部的int改為T(mén)就可以了,也就是用虛擬的類(lèi)型名T代替具體的數(shù)據(jù)類(lèi)型,在對(duì)程序進(jìn)行編譯時(shí),遇到第13行調(diào)用函數(shù)max(i1,i2,i3),編譯系統(tǒng)會(huì)將函數(shù)名max與模板max相匹配,將實(shí)參的類(lèi)型取代了函數(shù)模板中的虛擬類(lèi)型T,此時(shí)相當(dāng)于已定義了一個(gè)函數(shù):
類(lèi)型參數(shù)可以不僅僅是一個(gè),可以根據(jù)自己的需要確定個(gè)數(shù),例如:
那么大家可以很清楚的看到,用函數(shù)模板要比函數(shù)重載更簡(jiǎn)單,更方便。不過(guò)需要注意的是它只適合在函數(shù)的參數(shù)個(gè)數(shù)一樣而類(lèi)型不一樣的時(shí)候使用。那么要是參數(shù)的個(gè)數(shù)不一樣的話,就不能選用函數(shù)模板。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。