麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

17 - 05 - 12 C++初窺

2019-11-14 13:06:20
字體:
供稿:網(wǎng)友

 

# 成員函數(shù)的聲明和定義:

class Human {public:	void set(int) ;  //聲明	int PRint() { return weight; }private:	int weight;};int main( ) {	Human Tom,Mike;	Tom.set ( 111 ) ;	cout<<"Tom 's weight is:"<<Tom.print()<<"/n";	Mike.set(0);	cout<<"Mike 's weight is:"<<Tom.print()<<"/n";	return 0;}void Human::set ( int w) {	if ( w>0 || w<100 )		weight = w;	else{		cout<<"The weight should be  0~100,otherwise we'll set it 0 /n";		weight = 0;	}}

為什么非要將成員函數(shù)的聲明和定義分開?直接使用合并的成員函數(shù)豈不是更加間接和方便呢?

于是我們要了解 內(nèi)聯(lián)函數(shù)

l 內(nèi)聯(lián)函數(shù)

引入內(nèi)聯(lián)函數(shù)的目的是為了解決程序中函數(shù)調(diào)用的效率問題。 函數(shù)調(diào)用會(huì)帶來降低效率的問題,因?yàn)檎{(diào)用函數(shù)實(shí)際上將程序執(zhí)行順序轉(zhuǎn)移到函數(shù)所存放在內(nèi)存中某個(gè)地址,

將函數(shù)的程序內(nèi)容執(zhí)行完后,再返回到轉(zhuǎn)去執(zhí)行該函數(shù)前的地方。

這種轉(zhuǎn)移操作要求在轉(zhuǎn)去前要保護(hù)現(xiàn)場并記憶執(zhí)行的地址,轉(zhuǎn)回后先要恢復(fù)現(xiàn)場,并按原來保存地址繼續(xù)執(zhí)行。

因此,函數(shù)調(diào)用要有一定的時(shí)間和空間方面的開銷,于是將影響其效率。特別是對于一些函數(shù)體代碼不是很大,

但又頻繁地被調(diào)用的函數(shù)來講,解決其效率問題更為重要。通俗地說:當(dāng)我們定義了一個(gè)函數(shù)以后,

編譯器就會(huì)在內(nèi)存中為其創(chuàng)建一個(gè)指令集,當(dāng)調(diào)用此函數(shù)時(shí),程序就會(huì)跳轉(zhuǎn)到該指令集處,

若是對函數(shù)執(zhí)行上百次調(diào)用,那么就要來回跳轉(zhuǎn)上百次,這會(huì)嚴(yán)重影響到程序的執(zhí)行效率,

引入內(nèi)聯(lián)函數(shù)實(shí)際上就是為了解決這一問題。 在程序編譯時(shí),編譯器將程序中出現(xiàn)的內(nèi)聯(lián)函數(shù)的調(diào)用表達(dá)式用內(nèi)聯(lián)函數(shù)的函數(shù)體來進(jìn)行替換。

顯然,這種做法不會(huì)產(chǎn)生轉(zhuǎn)去轉(zhuǎn)回的問題,但是由于在編譯時(shí)將函數(shù)休中的代碼被替代到程序中,

因此會(huì)增加目標(biāo)程序代碼量,進(jìn)而增加空間開銷。

內(nèi)聯(lián)函數(shù)的定義方法 

定義內(nèi)聯(lián)函數(shù)的方法很簡單,只要在函數(shù)定義的頭前加上關(guān)鍵字inline即可。

內(nèi)聯(lián)函數(shù)的定義方法與一般函數(shù)一樣。

如:     

 inline int add_int (int x, int y, int z) {    

return x+y+z;     

編譯器不會(huì)創(chuàng)建真正的函數(shù),而只是將這個(gè)內(nèi)聯(lián)函數(shù)的所有代碼復(fù)制到調(diào)用函數(shù)中,

這樣程序在執(zhí)行調(diào)用該函數(shù)時(shí)就不需要來回跳轉(zhuǎn),效率自然提高了,但是由于復(fù)制多次,

也導(dǎo)致了程序的體積增大,所以當(dāng)在函數(shù)體很小時(shí),適宜使用內(nèi)聯(lián)函數(shù)。

# 成員函數(shù)的聲明和定義:
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 请播放一级毛片 | 中国免费一级毛片 | 亚洲精华液久久含羞草 | 欧美三级短视频 | 日韩激情在线视频 | 精品国产91久久久久久久妲己 | 在线成人看片 | 91av在线影院 | 羞羞视频.www在线观看 | 深夜毛片免费看 | 国产黄色一级大片 | 一级黄色毛片a | 精品一区二区视频在线观看 | 日韩精品网站在线观看 | 国产午夜精品久久久久久免费视 | 在线观看免费视频麻豆 | 亚洲无线看| 久久777国产线看观看精品 | 免费一级欧美 | 亚洲午夜免费 | 日韩精品一区二 | 国产不卡av在线 | 国产精品免费小视频 | 国产高潮失禁喷水爽到抽搐视频 | 一区二区三区精品国产 | 久久精品国产久精国产 | 极色品影院| 毛片视频在线免费观看 | 久久精品亚洲欧美日韩精品中文字幕 | 欧美视频黄色 | 欧美成人一区免费视频 | 91精品国产综合久久婷婷香蕉 | 羞羞答答视频 | 91精品国产九九九久久久亚洲 | 国产99精品在线 | 久久不雅视频 | 日韩欧美电影在线观看 | 欧美激情 在线播放 | 国产精品一区在线观看 | 亚洲欧美一区二区三区在线观看 | 91香焦视频|