C ++ 열거 형의 최대 값 및 최소값
C ++에서 열거 형의 최대 및 최소 정의 값을 찾는 방법이 있습니까?
아니요, C ++에서 열거 형의 최대 및 최소 정의 값을 찾을 수있는 방법이 없습니다. 이러한 종류의 정보가 필요한 경우 Last 및 First 값을 정의하는 것이 좋습니다. 예를 들면
enum MyPretendEnum
{
Apples,
Oranges,
Pears,
Bananas,
First = Apples,
Last = Bananas
};
사이의 모든 값에 대한 값을 이름이있을 필요가 없습니다 First
와 Last
.
아니요, 표준 C ++에는 없습니다. 수동으로 할 수 있습니다.
enum Name
{
val0,
val1,
val2,
num_values
};
num_values
열거 형의 값 수를 포함합니다.
아니요. C 또는 C ++의 열거 형은 단순히 상수 목록입니다. 그러한 정보를 보유 할 더 높은 구조는 없습니다.
일반적으로 이런 종류의 정보가 필요할 때 열거 형에 다음과 같은 최대 및 최소 값을 포함합니다.
enum {
eAaa = 1,
eBbb,
eCccc,
eMin = eAaaa,
eMax = eCccc
}
이것이 어떻게 유용 할 수 있는지에 대한 몇 가지 예를 보려면 다음 웹 페이지를 참조하십시오. Stupid Enum Tricks
enum My_enum
{
FIRST_VALUE = 0,
MY_VALUE1,
MY_VALUE2,
...
MY_VALUEN,
LAST_VALUE
};
after definition, My_enum::LAST_VALUE== N+1
Not automatically, but you can add artificial enum values to signify min and max values, e.g.
typedef enum {start_of_colors=-1, eRed, eWhite, eBlue, eGray,
end_of_colors} eListOfTags;
for (eListOfTags i = start_of_colors+1; i < end_of_colors; i++) {
....
}
you don't even need them, what I do is just I say for example if you have:
enum Name{val0,val1,val2};
if you have switch statement and to check if the last value was reached do as the following:
if(selectedOption>=val0 && selectedOption<=val2){
//code
}
참고URL : https://stackoverflow.com/questions/159006/max-and-min-values-in-a-c-enum
'IT박스' 카테고리의 다른 글
Spring에서 필터에 던져진 예외를 관리하는 방법은 무엇입니까? (0) | 2020.10.17 |
---|---|
중간 변수를 사용하는 코드가없는 코드보다 빠른 이유는 무엇입니까? (0) | 2020.10.17 |
Wix는 모든 사용자 / 컴퓨터 당 광고되지 않은 바로 가기 생성 (0) | 2020.10.17 |
Eclipse에서 Android Studio 프로젝트를 어떻게 여나요? (0) | 2020.10.17 |
유지 관리를 위해 사이트가 다운되었을 때 보낼 올바른 HTTP 상태 코드는 무엇입니까? (0) | 2020.10.17 |