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
반응형
'Application > 기초' 카테고리의 다른 글
[기초] C++ 유니언과 비트필드 (UNION & BitField) (0) | 2024.04.24 |
---|---|
[기초] C++ 유니언 (UNION) (0) | 2024.04.23 |
[기초] C++ 예외 처리 (0) | 2024.04.15 |
[기초] C++ 가상 함수와 다형성 (0) | 2024.04.12 |
[기초] C++ 생성자와 소멸자 (new, delete) (0) | 2024.04.10 |