[ 언어 및 문법 ]/C, C++

[C++] enum vs #define

황찌옹 2022. 8. 14. 03:02

 

enum

  • 열거형 상수
  • 자동으로 index 매겨짐
  • .h 등의 전역에 선언해두면 #define과 마찬가지로 모든 파일에 적용
  • But, 클래스 내부에 선언해두면, 그 클래스 내부에서만 사용 가능한 상수로 사용 가능
// IH.h
class IH
{
public:
   enum FEATURE
   {
      MEAN,      // 0
      VARIANCE,  // 1
      ...
   }
}

// main.cpp
cout << IH::MEAN<< endl;

 

#define

  • 매크로 상수 (전처리기 지시자)
  • 각각 상수를 지정해주어야 함
  • 전역으로밖에 선언 불가