欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
問(wèn)專(zhuān)家-內聯(lián)函數與普通函數的區別是什么
內聯(lián)函數與普通函數的區別是什么
編號: QA004800
建立日期: 2003年12月21日 最后修改日期: 2003年12月21日
所屬類(lèi)別:C/C++ - 其他方面
    操作系統: WINDOWS
編程工具: VC++
問(wèn)題: 內聯(lián)函數與普通函數的區別是什么?
水平: 一無(wú)所知(劉建勛)
    內聯(lián)函數是代碼被插入到調用者代碼處的函數。如同 #define 宏,內聯(lián)函數通過(guò)避免被調用的開(kāi)銷(xiāo)來(lái)提高執行效率,尤其是它能夠通過(guò)調用(“過(guò)程化集成”)被編譯器優(yōu)化。
內聯(lián)函數和宏很類(lèi)似,而區別在于,宏是由預處理器對宏進(jìn)行替代,而內聯(lián)函數是通過(guò)編譯器控制來(lái)實(shí)現的。而且內聯(lián)函數是真正的函數,只是在需要用到的時(shí)候,內聯(lián)函數像宏一樣的展開(kāi),所以取消了函數的參數壓棧,減少了調用的開(kāi)銷(xiāo)。你可以象調用函數一樣來(lái)調用內聯(lián)函數,而不必擔心會(huì )產(chǎn)生于處理宏的一些問(wèn)題。
聲明內聯(lián)函數看上去和普通函數非常相似:
void f(int i, char c);
當你定義一個(gè)內聯(lián)函數時(shí),在函數定義前加上 inline 關(guān)鍵字,并且將定義放入頭文件:
inline
void f(int i, char c)
{
// ...
}
任何在類(lèi)的說(shuō)明部分定義的函數都會(huì )被自動(dòng)的認為是內聯(lián)函數。
內聯(lián)函數必須是和函數體申明在一起,才有效。像這樣的申明Inline Tablefunction(int I)是沒(méi)有效果的,編譯器只是把函數作為普通的函數申明,我們必須定義函數體。
Inline tablefunction(int I) {return I*I};
這樣我們才算定義了一個(gè)內聯(lián)函數。我們可以把它作為一般的函數一樣調用。但是執行速度確比一般函數的執行速度要快。
我們也可以將定義在類(lèi)的外部的函數定義為內聯(lián)函數,比如:
Class TableClass{
Private:
Int I,j;
Public:
Int add() { return I+j;};
Inline int dec() { return I-j;}
Int GetNum();
}
inline int tableclass::GetNum(){
return I;
}
上面申明的三個(gè)函數都是內聯(lián)函數。在C++中,在類(lèi)的內部定義了函數體的函數,被默認為是內聯(lián)函數。而不管你是否有inline關(guān)鍵字。
內聯(lián)函數在C++類(lèi)中,應用最廣的,應該是用來(lái)定義存取函數。我們定義的類(lèi)中一般會(huì )把數據成員定義成私有的或者保護的,這樣,外界就不能直接讀寫(xiě)我們類(lèi)成員的數據了。對于私有或者保護成員的讀寫(xiě)就必須使用成員接口函數來(lái)進(jìn)行。如果我們把這些讀寫(xiě)成員函數定義成內聯(lián)函數的話(huà),將會(huì )獲得比較好的效率。
Class sample{
Private:
Int nTest;
Public:
Int readtest(){ return nTest;}
Void settest(int I) {nTest=I;}
}
當然,內聯(lián)函數也有一定的局限性。就是函數中的執行代碼不能太多了,如果,內聯(lián)函數的函數體過(guò)大,一般的編譯器會(huì )放棄內聯(lián)方式,而采用普通的方式調用函數。這樣,內聯(lián)函數就和普通函數執行效率一樣了。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
宏、內聯(lián)函數和普通函數的區別
08、C++ 內聯(lián)函數
C語(yǔ)言里面的內聯(lián)函數(inline)與宏定義(#define)探討
內聯(lián)函數
C++內聯(lián)函數
學(xué)習C++
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久