프로그래밍 공부
작성일
2023. 4. 20. 02:25
작성자
WDmil
728x90

인라인 함수는, C++에서 사용되는 일반적인 함수와 다르게, 함수 코드를 직접 삽입하는 방식으로 동작한다. 이를통해 함수 호출에 따른 오버헤드를 줄일 수 있으며, 실행속도가 빨라진다.

 

인라인 함수의 특징은 다음과 같다.

  1. 함수 호출이 아닌 코드 삽입 : 함수 호출문이 있는곳에 함수코드가 직접 삽입되는 방식으로 동작하게 된다.
  2. 실행속도 향상 : 함수호출 오버헤드를 제거함으로 ( 함수가 코드에 직접 삽입됨으로 호출되지않는다 ) 실행속도가 빨라진다.
  3. 함수 크기 제한 : 함수 코드가 컴파일 시점에 CODE삽입으로 대체됨으로 함수의 크기가 일정크기 이상이 되면 인라인 함수로 사용할 수 없다.
  • 장점
    1. 실행속도가 빠르다.
    2. 함수 호출로 발생하는 오버헤드를 줄일 수 있다.
  • 단점
    1. 인라인 함수의 크기가 일정 이상이면 인라인 함수를 사용할 수 없다.
    2. 인라인 함수를 자주 사용하면 코드 중복이 발생할 수 있어 무의미한 저장공간을 낭비할 수 있다.

다음은 인라인 함수의 예시이다.

여기서, inline int선언을 하였음으로, addnumbers는 오버헤드가 발생하지 않는다. 코드에 그대로 삽입되기 때문.

 

인라인 함수의 단점 예시

다음과 같은 코드가 실행되게 되면, 일반 함수와 다르게 max라는 함수가 코드영역에 반복되게 나타남으로 무의미한 저장공간이 낭비될 수 있다.

728x90