C 內聯函式的作用

2021-08-31 01:12:07 字數 541 閱讀 9780

#include #include using namespace std;

inline void func()

int main()

gettimeofday(&end_t, null);

n_time = ((end_t.tv_sec - start_t.tv_sec)*1000*1000 + (end_t.tv_usec - start_t.tv_usec))/1000.0;

cout << "n_time = " << n_time << endl;

return 0;

}

增加了 inline 關鍵字的函式稱為「內聯函式」。內聯函式和普通函式的區別在於:當編譯器處理呼叫內聯函式的語句時,不會將該語句編譯成函式呼叫的指令,而是直接將整個函式體的**插人呼叫語句處,就像整個函式體在呼叫處被重寫了一遍一樣。

有了內聯函式,就能像呼叫乙個函式那樣方便地重複使用一段**,而不需要付出執行函式呼叫的額外開銷。很顯然,使用內聯函式會使最終可執行程式的體積增加。以時間換取空間,或增加空間消耗來節省時間

內聯函式的作用

內聯函式必須是和函式體宣告在一起,才有效。像這樣的申明是沒有效果的 inline tablefunction int i 編譯器只是把函式作為普通的函式宣告,我們必須定義函式體 inline tablefunction int i 這樣我們才算定義了乙個內聯函式。我們可以把它作為一般的函式一樣呼叫。...

C 內聯函式作用及弊端

因為函式呼叫時候需要建立時間 引數傳入傳遞等操作,造成了時間和空間的額外開銷。c 追求效率所以引入了內聯的概念。通過編譯器預處理,在呼叫內聯函式的地方將內聯函式內的語句copy到呼叫函式的地方,從而提高了效率,減少了一些不必要的開銷。使用關鍵字 inline函式定義形式 inline 返回型別 函式...

C 內聯函式,作用域運算子

定義函式之前冠以關鍵字inline,如下 include iostream using namespace std inline double complex double i1,double j1 定義內聯函式計算複數 int main 沒有用inline的一般函式 用了inline的內聯函式。在...