#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...
沒有留言:
張貼留言