第十二節C+-inlineインライン関数

823 ワード

通常の関数呼び出しでは、プロセッサはスタックポインタを使用して関数にジャンプし、スタック操作やジャンプ操作に関連します.このような操作には少し時間がかかります(短い時間ですが)しかし、いくつかの文しかない関数では、この時間オーバーヘッドはお得ではありません.この問題を解決するために、プログラミング言語にinlineキーワードが導入され、ある関数をinline関数として定義することができます.コンパイラは、このような関数を呼び出された場所で展開し、コードの実行速度を向上させます.
しかし、inline関数にも弊害があり、コード量を膨張させる.
#include 

inline int getMulValue(const int& one, const int& two); 

int main()
{
	int date_one = 10, data_two = 20, mul_value = 0;
	
	mul_value = getMulValue(date_one, data_two); //inline           ,       ,        

	std::cout << "mul_value = " << mul_value << std::endl; 

	return 0;
}

/*inline  ,               。      ,             const  */
inline int getMulValue(const int& one, const int& two)
{	
	return (one * two);
}


出力:
mul_value = 200