열거

enum 유형의 데이터는 제한된 데이터 집합에 속합니다. 열거 유형 정의:

enum 명칭, 열거 가능한 유형의
  {
  값 목록
  };

값 목록은 쉼표로 구분된 명명된 상수의 식별자 목록입니다.

예제:

enum 개월  // 명명된 상수 열거
   {
   1월,
   2월,
   3월,
   4월,
   5월,
   6월,
   7월,
   8월,
   9월,
   10월,
   11월,
   12월
   };

열거가 선언되면 새 정수 값 4바이트 데이터 유형이 나타납니다. 열거에는 이름이 지정된 새 상수가 적용되므로 새 데이터 유형을 선언하면 컴파일러에서 전달된 매개 변수의 유형을 엄격하게 제어할 수 있습니다. 위의 예제에서 1월 명명 상수의 값은 0, 2월 - 1, 12월 - 11입니다.

규칙: 특정 값이 열거형 멤버인 명명된 상수에 할당되지 않으면 새 값이 자동으로 형성됩니다. 열거의 첫 번째 멤버인 경우 0 값이 할당됩니다. 이후의 모든 멤버에 대해 이전 멤버의 값에 따라 값을 계산하여 하나를 추가합니다.

예제:

enum intervals  // 명명된 상수 열거
   {
    month=1,     // 1개월 간격
    two_months,  // 2개월
    quarter,     // 3개월 - 1분기
    halfyear=6,  // 반년
    year=12,     // 1년
   };

참고

  • C++와 달리 MQL5에서 열거된 유형의 내부 표현 크기는 항상 4바이트입니다. 즉, sizeof (개월)은 4를 반환합니다.
  • C++와 달리 MQL5에서는 익명 열거를 선언할 수 없습니다. 즉, 항상 enum 키워드 뒤에 고유 이름을 지정해야 합니다.

더 보기

타입캐스팅