메크로 함수의 장점
단점
inline int SQUARE(int x)
{
return (x * x);
}
C의 inline 과 비슷하다고 보면 될 것 같다.
매크로 함수는 자료형에 의존하지 않지만 인라인 함수는 자료형에 의존한다.
inline int SQUARE(int x) {return x * x}
std::cout << SQUARE(3.15); // 0.15가 손실되어서 3x3의 결과인 9가 출력
오버로딩으로 해결할 수 있으나 매크로를 그냥 쓰면 좋다.
그외에도 T 템플릿을 사용할 수 있으나 이거는 나중에 배운다.
#include <iostream>
template <typename T>
inline T SQUARE(T x)
{
return x * x;
}
int main(void)
{
std::cout << SQUARE(5.5) << STD::endl;
std::cout << SQUARE(12) << STD::endl;
}