国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

c++中的內(nèi)聯(lián)函數(shù)inline用法實(shí)例

2020-01-26 13:24:45
字體:
供稿:網(wǎng)友

問題描述:類中成員函數(shù)缺省默認(rèn)是內(nèi)聯(lián)的,如果在類定義時(shí)就在類內(nèi)給出函數(shù)定義,那當(dāng)然最好。如果在類中未給出成員函數(shù)定義,而又想內(nèi)聯(lián)該函數(shù)的話,那在類外要加上 inline,否則就認(rèn)為不是內(nèi)聯(lián)的。內(nèi)聯(lián)函數(shù)的inline要加在函數(shù)前面,不可以加在聲明前面。

class A{  public:void Foo(int x, int y) { } // 自動(dòng)地成為內(nèi)聯(lián)函數(shù)}//正確寫法:// 頭文件class A{  public:  void Foo(int x, int y);}// 定義文件inline void A::Foo(int x, int y){} //錯(cuò)誤寫法:inline void Foo(int x, int y); // inline 僅與函數(shù)聲明放在一起void Foo(int x, int y){}

1. 內(nèi)聯(lián)函數(shù)作用:為了解決一些頻繁調(diào)用的小函數(shù)大量消耗棧空間(棧內(nèi)存)的問題,特別的引入了 inline 修飾符,表示為內(nèi)聯(lián)函數(shù)。

例子:

#include <stdio.h>//函數(shù)定義為inline即:內(nèi)聯(lián)函數(shù)inline char* dbtest(int a) {  return (i % 2 > 0) ? "奇" : "偶";}  int main(){  int i = 0;  for (i=1; i < 100; i++) {    printf("i:%d  奇偶性:%s /n", i, dbtest(i));    }}

內(nèi)聯(lián)函數(shù)是在程序編譯的時(shí)候替換的方式加入程序中的。

2. 內(nèi)聯(lián)函數(shù)使用的限制:

inline 的使用是有所限制的,inline 只適合涵數(shù)體內(nèi)代碼簡(jiǎn)單的涵數(shù)使用,不能包含復(fù)雜的結(jié)構(gòu)控制語句例如 while、switch,并且不能內(nèi)聯(lián)函數(shù)本身不能是直接遞歸函數(shù)(即,自己內(nèi)部還調(diào)用自己的函數(shù))。

代碼較長(zhǎng),內(nèi)部出現(xiàn)循環(huán)不適合使用內(nèi)聯(lián)函數(shù)。

3. 內(nèi)聯(lián)函數(shù)只是一個(gè)對(duì)編譯器的建議,具體實(shí)不實(shí)現(xiàn)看編譯器認(rèn)為函數(shù)復(fù)不復(fù)雜。

4.內(nèi)聯(lián)函數(shù)最好放在頭文件中。

以上就是本次介紹的全部知識(shí)點(diǎn)內(nèi)容,感謝大家的學(xué)習(xí)和對(duì)武林網(wǎng)的支持。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 鹤庆县| 安远县| 阳春市| 新野县| 都昌县| 汨罗市| 海阳市| 盐山县| 中方县| 陕西省| 八宿县| 江孜县| 三江| 娱乐| 武山县| 贡山| 青铜峡市| 霍林郭勒市| 英吉沙县| 克什克腾旗| 怀柔区| 邯郸县| 晋城| 林甸县| 精河县| 芒康县| 洪雅县| 噶尔县| 缙云县| 潢川县| 株洲县| 三台县| 左贡县| 青州市| 巴林左旗| 建始县| 永顺县| 罗江县| 哈密市| 土默特左旗| 青神县|