C++ 快速導覽 - inline 函數

inline 函數 (function) 定義經常重複的小型工作模組,例如

#include <iostream>

inline int max(int a, int b)
{
    return a > b ? a : b;
}

int main(void)
{
    std::cout << max(55, 22) << std::endl;
    std::cout << max(2, 214) << std::endl;
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:fundemo15.cpp
    功能:示範 C++ 程式
    作者:張凱慶
    時間:西元 2013 年 1 月 */


這裡定義了一個 inline 函數,其工作為判斷兩個參數的大小,並且回傳較大值
inline int max(int a, int b)
{
    return a > b ? a : b;
}


編譯器 (compiler) 會將 inline 函數的部份最佳化,通常會把 inline 函數的程式直接插入執行檔編譯,避免過多的函數呼叫,因此上例會變成
std::cout << 55 > 22 ? 55 : 22 << std::endl;
std::cout << 2 > 214 ? 2 : 214 << std::endl;


所以 inline 函數的目的在於提供一個符合語意的名稱,此例編譯執行結果如下



通常 inline 函數的定義宣告會直接放在標頭檔 (header file) 之中。


中英文術語對照
函數function
編譯器compiler
標頭檔header file


您可以繼續參考
函數


相關目錄
回 C++ 快速導覽
回 C++ 教材
回首頁


參考資料
C++ reference
cplusplus.com
Cprogramming.com C++ Tutorial

C++ Primer, Fourth Edition, Stanley B. Lippman...

沒有留言: