C inline(摘),以後補充

2022-05-05 08:06:08 字數 1073 閱讀 3375

簡單提一下inline 的使用吧:

1.在類中定義這種函式:

class classname; // 如果在類中直接定義,不需要用inline修飾,編譯器自動化為內聯函式

.... //此說法在《c++ primer》中提及

2.在類外定義前加inline關鍵字:

class account //與1相同

double getbalance(); //在類中宣告

double deposit( double amount );

double withdraw( double amount );

private:

double balance;

inline double account::getbalance() //在類外定義時新增inline關鍵字

inline double account::deposit( double amount )

inline double account::withdraw( double amount )

此外含有一些規則需注意:

1、inline說明對對編譯器來說只是一種建議,編譯器可以選擇忽略這個建議。比如,你將乙個長達1000多行的函式指定為inline,編譯器就會忽略這個inline,將這個函式還原成普通函式。

2、在呼叫內聯函式時,要保證內聯函式的定義讓編譯器"看"到,也就是說內聯函式的定義要在標頭檔案中,這與通常的函式定義不一樣。但如果你習慣將函式定義放在cpp檔案中,或者想讓標頭檔案更簡潔一點,可這樣做:

中#ifndef someinline_h

#define someinline_h

inline type example(void);

//........其他函式的宣告

#include「someinlie.cpp」 //原始檔字尾名隨編譯器而定

#endif

中#include"someinline.h"

type example(void)

//...............其他函式的定義

以上方法是通用、有效的,可放心使用,不必擔心在標頭檔案包含cpp檔案會導致編譯錯誤。

C inline內建函式

呼叫函式時需要一定的時間,如果有的函式需要頻繁使用,則累計所用時間會很長,從而降低程式的執行效率。c 提供了一種提高效率的方法,即在編譯時將所呼叫的函式 嵌入到主函式中。這種嵌入到主函式中的函式被稱為內建函式 inline function 又稱為內嵌函式。指定內建函式的方法很簡單,只須在函式首行的...

C inline 內聯函式

內聯函式 1 內聯函式定義和作用 將乙個函式宣告為inline,那麼函式就成為內聯函式。內聯函式通常就是它在程式中每個呼叫點上 內聯地 展開。從定義上看,內聯函式跟一般函式不一樣,一般函式呼叫的時候是需要呼叫開銷的 比如出棧入棧等操作 內聯函式從定義上看更像是巨集,但是跟巨集不一樣。內聯函式的作用主...

C inline內連函式

1.內聯函式 在c 中我們通常定義以下函式來求兩個整數的最大值 複製 如下 int max int a,int b 為這麼乙個小的操作定義乙個函式的好處有 閱讀和理解函式 max 的呼叫,要比讀一條等價的條件表示式並解釋它的含義要容易得多 如果需要做任何修改,修改函式要比找出並修改每一處等價表示式容...