国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 淮滨县| 防城港市| 来凤县| 衡南县| 长岭县| 司法| 景德镇市| 含山县| 武隆县| 邛崃市| 丰台区| 桐城市| 徐闻县| 衡水市| 从江县| 镇赉县| 调兵山市| 弥渡县| 屯门区| 六安市| 荣成市| 蕲春县| 安新县| 景宁| 神木县| 乃东县| 大英县| 怀集县| 昌平区| 泰州市| 阜新市| 宁城县| 德安县| 承德县| 印江| 古交市| 宁陕县| 岳阳县| 资源县| 奉化市| 北海市|