ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 매크로, inline
    플밍/C++ (overview) 2012. 1. 3. 22:43
    2006/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
Designed by Tistory.