본문 바로가기

C,C++

inline

- 컴파일러에 의해 처리되고, 이는 컴파일러에게 최적화 기회를 제공해 준다.


- 매크로의 장점을 가지며 함수 이름 앞에 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