ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Effective C++...28
    일지 2022. 7. 25. 16:46

    인라인 함수는 미주알고주알 따져서 이해해 두자

    인라인 함수의 장, 단점

    인라인 함수는 함수 호출 문을 본문으로 바꿔치기하는 것이기 때문에 속도 면에서 이득을 볼 수 있다.

    다만 긴 함수를 인라인으로 사용해 여기저기에서 복사된다면 목적 코드의 크기가 커지는 문제가 생긴다.

     

    반대로 간단한 처리를 하는 함수 명을 길게 설명식으로 사용하고 인라인 함수로 바꾼다면 오히려 목적 코드의 크기가 작아질 수도 있다.

     

    ※ 인라인 문은 컴파일러에 요청하는 것이기에 컴파일러에 따라 인라인화 될 수도 안 될 수도 있다.

     

    인라인 함수의 위치

    인라인 함수와 템플릿은 기본적으로 헤더에 들어 있어야 한다.

     

    템플릿 인스턴스화는 인라인과 별개이며 템플릿을 인라인화 하는 경우 inline을 붙이지만 그렇다고 구현하는 함수 템플릿에 필요도 없는데 inline을 붙일 필요는 전혀 없다.

     

    인라인 함수 잘 쓰는 법

    다음의 두 가지 접근 법이 있다.

    1. 인라인 처리하지 않기 어차피 대부분은 컴파일러가 알아서 처리해 주므로 넘길 수 있을 것이다.
    2. 꼭 해야하는 함수 또는 간단한 함수만 인라인 처리 하기 아주 미묘한 부분까지 최적화하고 싶은 경우 조심스럽게 접근해야 한다.

     

    댓글

Designed by Tistory.