第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

這兩種寫(xiě)法都沒(méi)有報(bào)錯(cuò),個(gè)人覺(jué)得第一種更直觀(guān)方便一下。但為什么要分開(kāi)呢?

這兩種寫(xiě)法都沒(méi)有報(bào)錯(cuò),個(gè)人覺(jué)得第一種更直觀(guān)方便一下。但為什么要分開(kāi)呢?

C++
POPMUISE 2023-01-03 16:12:27
初學(xué)VC,在學(xué)習(xí)過(guò)程中,書(shū)上提到,函數(shù)的定義和聲明分開(kāi)有好處,特別是在內(nèi)聯(lián)函數(shù)時(shí),我通過(guò)VC上測(cè)試,在建內(nèi)聯(lián)函數(shù)時(shí),inline int a(){return 1:} 與inline int a();inline int a(){return 1;}在查找資料的過(guò)程中,看到int a(){return 1:} 如果這樣連著寫(xiě)就表示將這個(gè)函數(shù)定義為了內(nèi)聯(lián)函數(shù),請(qǐng)問(wèn)是嗎?而分開(kāi)寫(xiě),定義一個(gè)內(nèi)聯(lián)函數(shù)的話(huà),就需要在函數(shù)前加inline,是不是?這就是為什么要分開(kāi)與不分開(kāi)的區(qū)別?分開(kāi)的好處在于很方便的可以將這個(gè)函數(shù)寫(xiě)義為內(nèi)聯(lián)或者普通函數(shù)。
查看完整描述

2 回答

?
侃侃無(wú)極

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊

調(diào)用函數(shù)比求解等價(jià)的表達(dá)式要慢得多,在大多數(shù)的機(jī)器,調(diào)用函數(shù)要做很多的工作,要先保存寄存器,并在返回時(shí)恢復(fù),程序還需要轉(zhuǎn)向一個(gè)新位置執(zhí)行
內(nèi)聯(lián)函數(shù)可以避免函數(shù)調(diào)用的開(kāi)銷(xiāo)
在一個(gè)函數(shù)前面加inline 將其指定為內(nèi)聯(lián)函數(shù)
inline 內(nèi)斂說(shuō)明對(duì)編譯器只是一個(gè)建議 編譯器可以選擇忽略這個(gè)建議

類(lèi)的例子
class Screen{
public:
typedef std::string::size_type =index;
char get() const{return contents[cursor];} //在類(lèi)聲明定義的函數(shù)就是內(nèi)聯(lián)的
inline char get(index ht, index wd)const; //顯示聲明為內(nèi)聯(lián) 將在類(lèi)外定義
index get_cursor() const;
//........
}
//類(lèi)聲明中聲明的內(nèi)聯(lián) 不用再加內(nèi)聯(lián)
char Screen:get(index r ,index c) const
{.......}
//定義中說(shuō)明為內(nèi)聯(lián) 在聲明中沒(méi)有
line Screen::index Screen::get_cursor() const
{.......}

在聲明和定義處指定內(nèi)聯(lián)inline 都是合法的 在類(lèi)外部定義inline的一個(gè)好處是使得類(lèi)容易閱讀
而且你發(fā)布這個(gè)類(lèi)時(shí) 只需提供hpp文件和dll 可以起到隱藏你的實(shí)現(xiàn)的作用


查看完整回答
反對(duì) 回復(fù) 2023-01-06
?
ibeautiful

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊

可以不分開(kāi)。
分開(kāi)的目的一般是為了將聲明(包括注釋?zhuān)┓旁谝粔K(比如頭文件里),這樣當(dāng)你需要查閱某個(gè)函數(shù)的功能時(shí)可以直接在這一塊里查找,比較方便。
當(dāng)然,還有一些情況必須要分開(kāi),比如兩個(gè)函數(shù)交叉調(diào)用:
int i = 10;
void foo();
void bar();
void foo() {if (i > 0) {--i,bar();}}
void bar() {foo();}
這種情況如果不分開(kāi)的話(huà)無(wú)論哪個(gè)函數(shù)放在前面都不行。

查看完整回答
反對(duì) 回復(fù) 2023-01-06
  • 2 回答
  • 0 關(guān)注
  • 156 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)