c++ 열거형 예제

키워드 `열거형`은 C 및 C++에서 새 열거 형을 선언하는 데 사용됩니다. 다음은 열거형 선언의 예입니다. 범위가 지정되지 않은 열거 이름은 생략할 수 있습니다: 이러한 선언은 열거체를 둘러싸는 범위로만 소개합니다: 이제 열거체가 무엇이고 프로그램에서 사용하는 방법을 이해했기 때문에 열거체를 사용하는 이유를 논의할 수 있습니다: 열거형은 변수를 예상할 때만 사용됩니다. 예를 들어 가능한 값 집합 중 하나를 갖기 위해 방향을 보유하는 dir 변수가 있습니다. 네 가지 방향이 있으므로 이 변수는 이 변수에 다른 임의 값을 할당하려고 하면 컴파일 오류가 발생하므로 이 변수는 네 가지 값 중 하나를 사용할 수 있습니다. 이렇게 하면 컴파일 타임 검사가 증가하고 잘못된 상수를 전달하여 발생하는 오류를 방지할 수 있습니다. 범위 열거 유형과 기본 형식이 고정된 비범위 열거 형 은 모두 다음의 모든 것이 사실인 경우 목록 초기화를 사용하여 캐스트없이 정수에서 초기화 할 수 있습니다 : 열거형 의 열거형 쉼표 분리 목록 열거형. 범위의 모든 열거자 또는 변수 이름은 고유해야 합니다. 그러나 값을 복제할 수 있습니다. 범위가 범위를 비범위열거로 하면 범위가 주변 범위입니다. 범위가 있는 열거형에서 범위는 열거형 목록 자체입니다. 범위가 조정된 열거형에서 목록이 비어 있을 수 있으며 이는 사실상 새 정수 형식을 정의합니다. 열거형은 명명된 상수로 표현되고 열거형이라고도 하는 값의 범위를 설명하는 컨텍스트를 제공합니다.

원래 C 및 C++ 열거형 형식에서는 정규기가 선언된 범위 전체에서 정규화되지 않은 열거형자가 표시됩니다. 범위가 지정된 열거형의 경우 열거형 이름은 열거형 형식 이름으로 정규화되어야 합니다. 다음 예제에서는 두 종류의 열거형 간의 기본적인 차이점을 보여 줍니다. “열거”라고 하는 이름으로 서로 다른 값(정수/정수 유형)을 정의하고 액세스할 수 있습니다. 각 열거자는 열거형의 범위 내에 포함되고 범위 확인 연산자사용에 액세스할 수 있는 열거형 형식(즉, 이름)의 명명된 상수가 됩니다. static_cast가 열거자의 숫자 값을 가져오는 데 사용될 수 있지만 범위가 있는 열거형의 값에서 정수 유형으로의 암시적 변환은 없습니다. 아래와 같이 “열거/열거형”을 선언/정의할 수 있습니다. 새 형식은 기본 형식의 정확한 복사본이므로 동일한 호출 규칙이 있으므로 성능 저하 없이 AI 에서 사용할 수 있습니다. 직접 목록 초기화를 사용하여 형식의 변수를 초기화할 때 는 캐스트가 필요하지 않습니다. 다음 예제에서는 다양한 컨텍스트에서 열거자가 없는 열거형의 초기화를 보여 주며, 열거자는 컴파일러에 의해 정수로 저장됩니다: 기본적으로 첫 번째 열거자는 0이며 다음 열거자 값은 이전 열거자 값 + 1입니다. 열거를 정의할 때 모든 열거체에 대해 정수 상수를 지정할 수 있습니다. 범위 열거형)을 참조하십시오.

이름에 부여된 값이 고유할 필요는 없습니다. 예를 들어, 범위가 지정되지 않은 열거형 정장선언이 이경우 C 및 C++ 열거형 구문및 C++ 열거형 클래스 및 예제입니다. C 및 C++에 대한 예제와 함께 열거 구문을 사용하고 사용합니다. 이러한 변환 후의 값이 열거형에 정의된 명명된 열거형 거점과 반드시 같지않을 수도 있습니다. 예: 자동차 회사의 열거형 선언 5. 모든 열거형 상수는 해당 범위에서 고유해야 합니다. 예를 들어 컴파일에서 다음 프로그램이 실패합니다. 열거형 대 매크로 이름 상수를 정의 하기 위해 매크로를 사용할 수도 있습니다.

예를 들어 다음 매크로를 사용하여 `작업`과 `실패`를 정의할 수 있습니다.