ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Effective C++...1
    일지 2022. 5. 27. 08:09

    클래스 범위에 상수 정의

    클래스 범위에만 상수를 적용할 때는 정적(static) 멤버로 만드는 게 좋다.

    이때, 헤더(.h 파일)에는 선언만 존재해야 하고 정의는 구현(.cpp 파일)에 들어가야 한다.

     

    ※ 클래스 컴파일 시 상수 값이 필요한 경우는 예외로 둔다.


    // CostEstimate.h

    class CostEstimate {

        static const double FudgeFactor;

    }

    // CostEstimate.cpp

    const double CostEstimate::FudgeFactor = 1.35;



    나열자 둔갑술(enum hack)

    클래스 컴파일 시 상수 값이 필요한 경우 상수 대신 enum을 선언하여 사용할 수 있다.

     

    ※ enum은 쓸데없는 쓸데없는 메모리 할당이 발생하지 않는다.


    class GamePlayer {

    private:

        enum { NumTurns = 5 };

     

        int scores[NumTurns];

    }


     

    댓글

Designed by Tistory.