欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2019年09月12日 16:32:29   作者:小白  
在本篇文章里小編給大家整理的是關(guān)于c++中的內(nèi)聯(lián)函數(shù)inline用法實(shí)例以及相關(guān)知識(shí)點(diǎn),有需要的朋友們學(xué)習(xí)下。

問(wèn)題描述:類(lèi)中成員函數(shù)缺省默認(rèn)是內(nèi)聯(lián)的,如果在類(lèi)定義時(shí)就在類(lèi)內(nèi)給出函數(shù)定義,那當(dāng)然最好。如果在類(lèi)中未給出成員函數(shù)定義,而又想內(nèi)聯(lián)該函數(shù)的話(huà),那在類(lèi)外要加上 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ù)
}
//正確寫(xiě)法:
// 頭文件
class A
{
  public:
  void Foo(int x, int y);
}
// 定義文件
inline void A::Foo(int x, int y){} 

//錯(cuò)誤寫(xiě)法:
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)存)的問(wèn)題,特別的引入了 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)控制語(yǔ)句例如 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ì)腳本之家的支持。

相關(guān)文章

  • C語(yǔ)言實(shí)現(xiàn)歌手比賽系統(tǒng)

    C語(yǔ)言實(shí)現(xiàn)歌手比賽系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)歌手比賽系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 簡(jiǎn)單掌握C++編程中的while與do-while循環(huán)語(yǔ)句使用

    簡(jiǎn)單掌握C++編程中的while與do-while循環(huán)語(yǔ)句使用

    這篇文章主要介紹了C++編程中的while與do-while循環(huán)語(yǔ)句使用,區(qū)別就是while是先判斷再執(zhí)行,而do-while是先執(zhí)行再判斷,需要的朋友可以參考下
    2016-01-01
  • C++條件語(yǔ)句和條件運(yùn)算符的使用方法講解

    C++條件語(yǔ)句和條件運(yùn)算符的使用方法講解

    這篇文章主要介紹了C++條件語(yǔ)句和條件運(yùn)算符的使用方法講解,是C++入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • 數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組Array實(shí)例詳解

    數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組Array實(shí)例詳解

    這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組Array實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • C++超詳細(xì)分析函數(shù)重載的使用

    C++超詳細(xì)分析函數(shù)重載的使用

    C++?允許多個(gè)函數(shù)擁有相同的名字,只要它們的參數(shù)列表不同就可以,這就是函數(shù)的重載(Function?Overloading),借助重載,一個(gè)函數(shù)名可以有多種用途
    2022-04-04
  • C++ COM編程之什么是組件?

    C++ COM編程之什么是組件?

    這篇文章主要介紹了COM編程之什么是組件?COM組件是以Win32動(dòng)態(tài)鏈接庫(kù)(DLLs)或可執(zhí)行文件(EXEs)的形式發(fā)布的可執(zhí)行代碼,需要的朋友可以參考下
    2014-10-10
  • c++調(diào)用python實(shí)現(xiàn)圖片ocr識(shí)別

    c++調(diào)用python實(shí)現(xiàn)圖片ocr識(shí)別

    所謂c++調(diào)用python,實(shí)際上就是在c++中把整個(gè)python當(dāng)作一個(gè)第三方庫(kù)引入,然后使用特定的接口來(lái)調(diào)用python的函數(shù)或者直接執(zhí)行python腳本,本文介紹的是調(diào)用python實(shí)現(xiàn)圖片ocr識(shí)別,感興趣的可以了解下
    2023-09-09
  • 淺析C++中boost.variant的幾種訪問(wèn)方法

    淺析C++中boost.variant的幾種訪問(wèn)方法

    variant類(lèi)型在C++14并沒(méi)有加入,若想在不支持C++17的編譯器上使用variant類(lèi)型,我們可以通過(guò)boost的variant類(lèi)型,variant類(lèi)型可以表示任意一種類(lèi)型和any類(lèi)型有些相似,但還是有些區(qū)別下面將淺談variant的幾種訪問(wèn)方法,感興趣的朋友們下面來(lái)一起看看吧。
    2016-10-10
  • 淺談c++調(diào)用python鏈接的問(wèn)題及解決方法

    淺談c++調(diào)用python鏈接的問(wèn)題及解決方法

    下面小編就為大家?guī)?lái)一篇淺談c++調(diào)用python鏈接的問(wèn)題及解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • C++高性能服務(wù)器框架之協(xié)程調(diào)度模塊

    C++高性能服務(wù)器框架之協(xié)程調(diào)度模塊

    這篇文章主要介紹了C++高性能服務(wù)器框架中的協(xié)程調(diào)度模塊,文中通過(guò)代碼示例介紹的非常詳細(xì),對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-06-06

最新評(píng)論