Application/기초

[기초] C++ 인라인 함수 (Inline Function)

devsalix 2024. 4. 22. 17:09
728x90

 

인라인 함수를 사용하는 C++ 예제를 보여 드리겠습니다.

이 예제에서는 간단한 산술 연산을 수행하는 인라인 함수를 정의하고,

이를 사용하여 결과를 출력합니다.

인라인 함수는 함수의 본문이 매우 간단할 때 유용하게 사용할 수 있으며,

함수 호출에 따른 오버헤드를 줄일 수 있습니다.

 


 

#include <iostream>

// 인라인 함수 선언 및 정의: 두 수를 더하는 함수
inline int add(int x, int y) {
    return x + y;
}

// 인라인 함수 선언 및 정의: 두 수를 곱하는 함수
inline int multiply(int x, int y) {
    return x * y;
}

// 인라인 함수 선언 및 정의: 두 수 중 최대값을 반환하는 함수
inline int max(int x, int y) {
    return (x > y) ? x : y;
}

int main() {
    int a = 5, b = 3;

    // 인라인 함수 호출
    std::cout << "Addition of " << a << " and " << b << " is " << add(a, b) << std::endl;
    std::cout << "Multiplication of " << a << " and " << b << " is " << multiply(a, b) << std::endl;
    std::cout << "Maximum of " << a << " and " << b << " is " << max(a, b) << std::endl;

    return 0;
}​

 

코드 설명

 

  • add 함수 : 두 개의 정수를 매개변수로 받고, 그 합을 반환합니다.
  • multiply 함수 : 두 개의 정수를 매개변수로 받고, 그 곱을 반환합니다.
  • max 함수 : 두 개의 정수를 매개변수로 받고, 두 값 중 큰 값을 반환합니다.

 

함수 특성

 

  • 효율성 증가 : 함수 본문이 호출 지점에 직접 삽입되어 함수 호출 오버헤드가 제거됩니다.
    하지만 함수 본문이 매우 크거나 복잡하면, 프로그램의 크기가 증가할 수 있어 적절히 사용해야 합니다.
  • 컴파일러의 결정 : 'inline' 지시어는 컴파일러에게 함수를 인라인으로 처리할 것을 제안하는 것이지,
    반드시 그렇게 처리한다는 보장은 없습니다.
    컴파일러는 코드의 최적화를 위해 이를 무시할 수 있습니다.

 

마무리

 

위 예제는 C++에서 인라인 함수를 어떻게 정의하고 사용하는지 보여 줍니다.

각 함수는 매우 간단하므로 인라인으로 선언하기에 적합합니다.

이런 간단한 함수들은 프로그램의 전체 성능을 향상시키는 데 도움을 줄 수 있습니다.

 

 


제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

 

 
728x90
반응형