1.內(nèi)聯(lián)函數(shù)可減少cpu的系統(tǒng)開(kāi)銷,并且程序的整體速度將加快,但當(dāng)內(nèi)聯(lián)函數(shù)很大時(shí),會(huì)有相反的作用,因此一般比較小的函數(shù)才使用內(nèi)聯(lián)函數(shù).
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比廣豐網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式廣豐網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋廣豐地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
2.有兩種內(nèi)聯(lián)函數(shù)的聲明方法,一種是在函數(shù)前使用inline關(guān)見(jiàn)字,另一種是在類的內(nèi)部定義函數(shù)的代碼,這樣的函數(shù)將自動(dòng)轉(zhuǎn)換為內(nèi)聯(lián)函數(shù),而且沒(méi)必要將inline放在函數(shù)前面.
3.內(nèi)聯(lián)是一種對(duì)編譯器的請(qǐng)求,下面這些情況會(huì)阻止編譯器服從這項(xiàng)請(qǐng)求.
如果函數(shù)中包含有循環(huán),switch或goto語(yǔ)句,遞歸函數(shù),含有static的函數(shù).
由此可以看出,內(nèi)聯(lián)函數(shù)和成員函數(shù)沒(méi)什么區(qū)別,區(qū)別就在于怎樣加快函數(shù)的執(zhí)行速度而已。
對(duì)于C語(yǔ)言中的函數(shù)類型,一般可以分為以下兩類:
1. 庫(kù)函數(shù)(Library Function):也稱為內(nèi)置函數(shù)(Built-in Function),是由C語(yǔ)言提供的、已經(jīng)封裝好的函數(shù)。庫(kù)函數(shù)通常具有標(biāo)準(zhǔn)化、通用化的特點(diǎn),包括數(shù)學(xué)運(yùn)算、字符串處理、文件操作等方面。例如`printf()`和`scanf()`是C語(yǔ)言中常用的庫(kù)函數(shù)。
2. 用戶自定義函數(shù)(User-Defined Function):也稱為外置函數(shù)(External Function),是程序員根據(jù)需求自行編寫的函數(shù)。用戶自定義函數(shù)可以將某一段需要重復(fù)使用的代碼封裝成一個(gè)函數(shù),在其他地方調(diào)用該函數(shù)即可實(shí)現(xiàn)相同的功能,起到了復(fù)用代碼的作用。在需要多次執(zhí)行特定任務(wù)時(shí),使用自定義函數(shù)可以使程序結(jié)構(gòu)更加清晰、易于理解。
其實(shí)看你用得編譯器了,如果你用的VC++6.0的話, 不管是.C文件還是.CPP文件都可以用inline 定義內(nèi)聯(lián)函數(shù)。但是語(yǔ)法來(lái)說(shuō),C語(yǔ)言是沒(méi)有內(nèi)聯(lián)這個(gè)概念的,C++才有
有,只要你不用太老的編譯器就應(yīng)該有
C99標(biāo)準(zhǔn)中增加了關(guān)鍵字inline,并且C99中inline的句法和C++中的一致.