IT/Programming / / 2023. 4. 18. 17:42

C++ <inline>

반응형

inline은 in 은 내부를 뜻하고 line은 프로그램의 코드라인을 의미한다.

의역해보자면 '프로그램 코드라인 안으로 들어가 버린 함수'가 되며 C언어의 매크로함수라고 보면된다.

C 매크로함수의

장점

일반적임 함수에 비해서 빠른 실행속도

 

단점

정의하기가 어렵다. 복잡한 함수를 매크로함수 형태로 정의하는데 한계가 있다.

 

매크로함수에는 있지만 inline함수에는 없는 장점

데이터의 손실발생

 

ex)

#define SQUARE(x) ((x)*(x))

을 사용할때는 형식에 관계없이 가능

 

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

int형 기반으로 정의된 함수이기 때문에 실수데이터입력하면 데이터 손실발생

#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;
	return 0;
}
반응형

'IT > Programming' 카테고리의 다른 글

C++ <범위지정연산자 기능>  (0) 2023.04.18
C++ <namespace>  (0) 2023.04.18
C++ <Function Overloading>  (0) 2023.04.18
C++ <구구단>  (0) 2023.04.18
C++ <헤더>  (0) 2023.04.18
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유