본문 바로가기
C++/C++ 기초 문법

[C++] 인라인(inline) 함수

by 후야- 2023. 12. 22.

1. 인라인(inline) 함수

◾ 프로그램 코드라인 안으로 들어가 버린 함수를 뜻한다.

 

✳ C 언어 방법

#include <iostream>
#define SQUARE(x) ((x)*(x))

using namespace std;

int main()
{
	cout << SQUARE(4) << endl;
	return 0;
}

◾ C 언어는 매크로 함수를 불러오는 것이다. 이 방법은 매우 복잡하다.

 

 ✳ C++ 언어 방법 (inline 함수 정의하기)

#include <iostream>

using namespace std;

inline int SQUARE(int x)
{
	return x * x;
}

int main()
{
	cout << SQUARE(5) << endl;
	return 0;
}

 

 

◾ C++의 인라인 함수 단점은 자료형에 의존적이다.  (int , double 등) 

◾ C의 매크로 함수는 자료형에 의존적이지 않다. 

◾ 이러한 C++ 단점을 메꿔줄 템플릿이라는 것이 있다.

#include <iostream>

using namespace std;

template <typename T>
inline T SQUARE(T x)
{
	return x * x;
}

int main()
{
	cout << SQUARE(5) << endl;
	cout << SQUARE(9) << endl;
	cout << SQUARE(3.14) << endl;
	return 0;
}

 

◾ 이렇게 자료형에 의존하지 않는다. 템플릿에 자세한 내용은 따로 다룰 예정이다.

'C++ > C++ 기초 문법' 카테고리의 다른 글

[C++] 구조체  (0) 2023.12.23
[C++] 열거 타입  (0) 2023.12.22
[C++] 매개변수의 디폴트 값  (0) 2023.12.21
[C++] 함수 오버로딩  (0) 2023.12.21
[C++] namespace - 네임스페이스  (1) 2023.12.20