영넌 개발로그

[C++ 기초] 함수 호출 inline function 본문

코딩/C++

[C++ 기초] 함수 호출 inline function

영넌 2020. 10. 23. 16:55

inline ?

함수 호출에 따른 overhead를 극복하는 inline

함수를 안쓰고 코드를 복붙한 것처럼 실행되는 것을 의미한다.

함수 반환형 앞에 inline을 적어주면 된다.

#include <iostream>

using namespace std;

inline double calc_sum(double a, double b) {
	return (a + b);
}

int main()
{
	cout << calc_sum(1.0, 2.0) << endl;
	cout << calc_sum(2.0, 2.0) << endl;
	cout << calc_sum(3.0, 2.0) << endl;


	return 0;
}

 

** 함수 호출에 따른 overhead

1. 원래 있던 위치 표시

2. 파라미터, return

3. 캐쉬(Cache)

 

** inline을 사용해야만 할까?

 단점 : 코드 크기가 늘어남

그럼 언제써??????

==> 함수호출 오버헤드는 사실 1ms수준.. 그보다 실행시간이 길면 안쓰는게 맞음

 

 inline을 할지말지는 컴파일러가 결정, 우린 그냥 요청만하는 것

 

 

Comments