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 |