inline 함수
2023. 8. 24. 14:50ㆍc,c++/c++ 관련 개념 및 문법
c++의 inline 함수는 함수 호출의 오버헤드를 줄이기 위한 기능이다.
다른 언어들에서는 함수를 호출 했을 때 스택에 올리면서 함수를 호출하게 된다. 그래서 간단한 함수를 이용할 때도 항상 스택에 올리게 되는데 그 때의 overhead를 막기 위해 inline을 이용한다. inline은 코드 복사 붙여넣기와 비슷한데 컴파일러가 읽은 후에 그냥 코드를 복사 붙여넣기 하여 함수에 올리지 않고 이용하게 된다.
inline int getNum()
{
return num;
}
inline void print()
{
cout << "hello"<<endl;
}
이런 방식은 c언어에서 매크로 함수와 비슷한 방식이다.
#define ADD(x, y) (x) + (y)
c++이라면 inline을 이용하도록하자 왜냐하면 매크로함수는 타입 체크를 해주지도 않고 길이가 길어지면 가독성에도 좋지 않다. 인라인은 컴파일에서 처리해주는 것이고 매크로는 전처리 단계에서 이용하게 된다. 그래서 이런 차이가 나타나게 된다.
'c,c++ > c++ 관련 개념 및 문법' 카테고리의 다른 글
c++ stream 상태 (0) | 2023.08.28 |
---|---|
c++ string class 구현 (0) | 2023.08.22 |
C++ 문자열 parsing (0) | 2023.08.22 |
복사 생성자와 소멸자 (0) | 2023.07.15 |
explicit 키워드, mutable 키워드 (0) | 2023.07.11 |