본문 바로가기
VisualStudio.C++.C#/C . C++

C,C++. enum

by 리치굿맨 2019. 5. 16.

 

 


/// enum 기본. 
enum {
    enum_1 // 초기값 설정하지 않으면 첫멤버값은 0. 
   ,enum_2  // 초기지 기록하지 않으면 앞에 기록된 멤버값 +1 의 값을 가짐. 
}; 

// 멤버 정수값을 사용자 임의 지정 가능. 통상 지정해서 사용함.

enum {
    enum_1 = 100 // 
   ,enum_2 = 32 // 
   ,enum_3 = 100 // enum_1 과 값은 값. 멤버 중에 있는 값과 중복되는 것으로 설정해도됨. 
}; 


//-----------------------------------------------------------

typedef enum

/// typedef enum 실 코딩에서 유용하게 많이 사용됨.  
/// 팁 . 멤버이름에 enum_ 부착하는게 사용시 혼선 작음. 안그럼 이게 변수야? 상수야? 헷갈림.
/// enum 자료형 명칭에도 대문자 ENUM_ 이름 시작하는게 혼선 덜생겨서 정신건강에 도움됨. 

typedef enum 
{
    enum_Input_Normal = 0
   ,enum_Input_Short = 1
   ,enum_Input_TestSignal = 5
}ENUM_INPUT_SEL; // enum type 자료형 이름.



// 함수인자로 사용예.
void myfunc(ENUM_INPUT_SEL enum_inputsel)
{
    uint8_t bit210 = enum_inputsel & 0x3; 
    
    switch(enum_inputsel)
    {
        case enum_Input_Normal:
        
        break;     
    }

}



ENUM_INPUT_SEL::enum_Input_Normal // C++ 에서만 가능한 멤버 접근방식.

 

 

 

enum 기타 선언예. 

enum CyENUM_SYMBOL
{
	EURUSD = 1, 
	GPBUSD = 2, 
	EURGPB = 3

};

enum ENUM_TIMEFRAMES // the same as MQL5
{
	PERIOD_M1 = 1,
	PERIOD_M2 = 2, 
	PERIOD_M3 = 3,
	PERIOD_M4  = 4,
	PERIOD_M5  = 5,
	PERIOD_M6  = 6,
	PERIOD_M10  = 10,
	PERIOD_M12  = 12, 
	PERIOD_M15  = 15,
	PERIOD_M20  = 20,
	PERIOD_M30  = 30,
	PERIOD_H1   = 16385,
	PERIOD_H2   = 16386,
	PERIOD_H3   = 16387,
	PERIOD_H4   = 16388,
	PERIOD_H6   = 16390,
	PERIOD_H8   = 16392,
	PERIOD_H12  = 16396,
	PERIOD_D1   = 16408,
	PERIOD_W1   = 32769,
	PERIOD_MN1  = 49153

};

 

 

 

 

 

 

 

 

 

 

 


첫등록 : 2019년 5월 12일 

최종수정 : 

 

본 글 단축주소 : https://igotit.tistory.com/2160

 


 

 

태그

댓글0


   
현물 |선물 인버스 |선물 USDT     현물 | 선물 USDT |봇제작툴/카피트레이딩     현물 |선물 인버스 |선물 USDT     선물 인버스 |선물 USDT