內(nèi)聯(lián)函數(shù)inline與宏定義深入解析
內(nèi)聯(lián)函數(shù)的優(yōu)越性:
一:inline定義的類(lèi)的內(nèi)聯(lián)函數(shù),函數(shù)的代碼被放入符號(hào)表中,在使用時(shí)直接進(jìn)行替換(像宏定義一樣展開(kāi)),沒(méi)有了調(diào)用的開(kāi)銷(xiāo),效率很高。
二:類(lèi)的內(nèi)斂函數(shù)是一個(gè)真正的函數(shù)。
三:使用內(nèi)聯(lián)函數(shù)inline可以完全取代表達(dá)式形式的宏定義。
例子:
Class A
{
public:
int readTest()
{
return nTest;
}
void setTest(int i);
};
inline void A::setTest(int i)
{
nTest=i;
};
說(shuō)明:類(lèi)A的成員函數(shù)readTest()和setTest()都是內(nèi)聯(lián)函數(shù),readTest()函數(shù)的定義體被放在類(lèi)聲明之中,因而readTest()自動(dòng)轉(zhuǎn)換成inline函數(shù),setTest函數(shù)的定義體在類(lèi)聲明之外,因此要加上inline關(guān)鍵字。
總結(jié)inline函數(shù)與宏定義的區(qū)別:
1、內(nèi)斂函數(shù)在編譯時(shí)展開(kāi),而宏是在預(yù)編譯時(shí)就展開(kāi)了
2、在編譯時(shí)內(nèi)斂函數(shù)可以直接被嵌入到目標(biāo)函數(shù)代碼中,而宏只是一個(gè)簡(jiǎn)單的文本替換
3、內(nèi)斂函數(shù)可以完成諸如類(lèi)型的檢測(cè)、語(yǔ)句是否正確等編譯功能,宏就不具備這種功能
4、宏不是函數(shù),而inline函數(shù)是函數(shù)
5、宏在定義時(shí)要小心處理宏參數(shù),(一般情況是把參數(shù)用括弧括起來(lái))。
相關(guān)文章
Vscode中接入Deepseek的實(shí)現(xiàn)
本文主要介紹了Vscode中接入Deepseek的實(shí)現(xiàn),包括登錄Deepseek官網(wǎng)、申請(qǐng)APIKEY、安裝和配置VSCode插件,具有一定的參考價(jià)值,感興趣的可以了解一下2025-02-02
基于C語(yǔ)言編寫(xiě)一個(gè)簡(jiǎn)單的抽卡小游戲
這篇文章主要為大家介紹了如何利用C語(yǔ)言實(shí)現(xiàn)原神抽卡的小游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-04-04
C++實(shí)現(xiàn)順序表的常用操作(插入刪出查找輸出)
實(shí)現(xiàn)順序表的插入,刪除,查找,輸出操作在C語(yǔ)言中經(jīng)常用到。下面小編給大家整理實(shí)現(xiàn)代碼,一起看下吧2016-08-08
在C語(yǔ)言中對(duì)utmp文件進(jìn)行查找和寫(xiě)入操作的函數(shù)小結(jié)
這篇文章主要介紹了在C語(yǔ)言中對(duì)utmp文件進(jìn)行查找和寫(xiě)入操作的函數(shù)小結(jié),包括pututline()函數(shù)和getutline()函數(shù)以及getutid()函數(shù),需要的朋友可以參考下2015-08-08
C++中智能指針最常用的shared_ptr和unique_ptr
C++中的智能指針最常用的是shared_ptr和unique_ptr,C++新手最常問(wèn)的問(wèn)題是我從一個(gè)函數(shù)中拿到unique_ptr,但要轉(zhuǎn)成shared_ptr才能使用,要怎么轉(zhuǎn)換?同理是否能將shared_ptr轉(zhuǎn)換成unique_ptr,面對(duì)這些問(wèn)題,跟隨小編一起看看吧2022-08-08
剖析C語(yǔ)言關(guān)鍵字之void,const,return
這篇文章主要為大家介紹了C語(yǔ)言關(guān)鍵字之void,const,return,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-01-01
數(shù)據(jù)結(jié)構(gòu)與算法:單向鏈表實(shí)現(xiàn)與封裝
今天小編就為大家分享一篇關(guān)于數(shù)據(jù)結(jié)構(gòu)與算法:單向鏈表實(shí)現(xiàn)與封裝,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12

