영넌 개발로그
[C++ 기초] 함수 호출 inline function 본문
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을 할지말지는 컴파일러가 결정, 우린 그냥 요청만하는 것
'코딩 > C++' 카테고리의 다른 글
[C++ 기초] cctype 헤더파일 (0) | 2020.10.23 |
---|---|
[C++ 기초] 반복문 for loop / 논리 연산자 logical_operator (0) | 2020.10.23 |
[C++ 기초] 함수 오버로딩 function overloading (0) | 2020.10.23 |
[C++ 기초] 동적 구조체(struct) / 문자열 메모리 할당 (0) | 2020.10.23 |
Comments