inline 함수

2023. 8. 24. 14:50c,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