인라인 함수
개발/C++ 문법 2012. 8. 7. 12:16inline 함수 !? : '프로그램 코드라인 안으로 들어가 버린 함수'
1. 매크로 함수의 장점
"일반적인 함수에 비해서 실행속도의 이점이 있다."(스택할당 해제 없음)
* 단점 : 복잡한 함수를 정의하는데 한계가 있다. , 디버깅이 어렵다.
* 특징 : 전처리리가 처리
예시 )
#include <iostream>
#define SQUARE (X) ((X)*(X))
int main(void){
std::cout::<<SQUARE(5)<<std::endl; // => std::cout<<((5)*(5))<<std::endl; 로 변환
return 0;
}
결국 매크로 함수는 정의하기가 복잡하니 ! -> 일반 함수처럼 정의가 가능하면 좋겠다 ! ==>> C++ 기반의 인라인 함수 정의
2. C++ 기반의 인라인 함수 정의
특징 : 컴파일러가 처리해줘 (디버깅이 쉬워진다.)
3. 매크로 함수에는 있지만, 인라인 함수에는 없는 장점
inline int SQUARE(int x) {return x*x} 라고 사용할 시, std::cout<<SQUARE(3.15)시 데이터 손실이 일
어난다. ==>> C++의 템플릿이라는 것을 사용
'개발 > C++ 문법' 카테고리의 다른 글
이름공간(namespace) (0) | 2012.08.07 |
---|---|
매개변수의 디폴트 값 (0) | 2012.08.06 |
함수 오버로딩 (0) | 2012.08.06 |
입출력 처리 (0) | 2012.08.06 |