- 컴파일러에 의해 처리되고, 이는 컴파일러에게 최적화 기회를 제공해 준다.
- 매크로의 장점을 가지며 함수 이름 앞에 inline 키워드만 붙여주면 된다.
inline은 함수 본문의 복사본을 함수가 호출되는 각 위치에 삽입하도록 컴파일러에게 지시하는 지정자이다.
그러나 컴파일러가 비용, 이익 분석 시에 수익성이 없다면 수행하지 않을 수 있다.
비용, 이익 분석을 재정의하고 프로그래머의 판단에 맡기는, 즉 inline을 강제로 사용하게 하는 _forceinline 키워드도 있지만
이를 무분별하게 사용할 시 코드가 더 커져 성능이 크게 향상되지 않거나, 실행 파일의 페이징 증가와 같은 이유로
성능이 손실될 수 있다.
inline int max(int a, int b){ if(a > b) return a; return b; }
참고) https://msdn.microsoft.com/ko-kr/library/bw1hbe6y.aspx?f=255&MSPPError=-2147217396
'C,C++' 카테고리의 다른 글
C++ lower_bound, upper_bound (0) | 2018.12.26 |
---|---|
콜라한캔 :: 16진수 문자열로 변환 (0) | 2018.12.23 |
void 포인터 (0) | 2018.12.12 |
new, delete (0) | 2018.12.09 |
Reference (0) | 2018.12.09 |