-
매크로, inline플밍/C++ (overview) 2012. 1. 3. 22:432006/06/30 04:42
방법 1. 매크로
=============
#define SQUARE(x) ((x) * (x))
std::cout << SQUARE(5) ==========> std::cout << ((5) * (5))
전처리기
--------------------------------------------------------------
함수가 line속으로 포함되어 버렸다. -> inline화 되었다.
[방법 1. 매크로
방법 2. C++의 inline 키워드]
--------------------------------------------------------------
* 함수호출과는 메커니즘이 다르다. (함수 호출은 스택공간도 필요하고, 시간도 걸린다.)
매크로 단점 : 함수 구현 까다롭고, 디버깅 어려움
매크로 장점 : 성능상 이점. (시간, 비용)
방법 2. inline 키워드
===================
inline int SQUARE(int x){...}
* 함수 정의 후 앞에 inline만 붙여주면 된다.
-> 해당 함수는 inline화 해서 컴파일러가 알아서 처리해준다.
매크로와 차이점
===============
매크로는 그 과정이 '전처리기'에 의해서,
inline키워드는 그 과정이 '컴파일러'에 의해서, 수행됨.
(이 경우 컴파일러가 성능향상에 해가 된다고 판단하면 그냥 무시해버릴수도 있음.)
'플밍 > C++ (overview)' 카테고리의 다른 글
const, * .. (0) 2012.01.03 namespace, (범위지정연산자) (0) 2012.01.03 default 매개 변수 (0) 2012.01.03 C++ overloading (0) 2012.01.03 endl (0) 2012.01.03