1
내 코드에서는 enumarators를 사용하여 특정 인스턴스에만 값 집합을 할당 할 수 있지만 int
에서 enum
유형으로 변환하거나 또는 그 반대로 변환 할 때 지겨워합니다. 그 이상한 사람을 피하기 위해 int enum
같은 것이 있습니까 static_cast
?enumarators를 사용하는 가장 좋은 방법
내 코드에서는 enumarators를 사용하여 특정 인스턴스에만 값 집합을 할당 할 수 있지만 int
에서 enum
유형으로 변환하거나 또는 그 반대로 변환 할 때 지겨워합니다. 그 이상한 사람을 피하기 위해 int enum
같은 것이 있습니까 static_cast
?enumarators를 사용하는 가장 좋은 방법
열거 자와 기본 형식의 변수 간 암시 적 변환을 허용하려면 C++ 11의 범위가 지정된 열거 형을 사용하지 마십시오. 구체적
enum class scoped : unsigned
{
Enumerator_1,
};
enum /*class*/ unscoped : unsigned
{
Enumerator_1,
};
int main()
{
unsigned a = static_cast<unsigned>(scoped::Enumerator_1); // explicit conv
unsigned b = unscoped::Enumerator_1; // implicit conv allowed
}
,
enum class
(또는
enum struct
)를 사용하지 않는다. 기본 유형을 지정할 수 있지만 암시 적 변환은 이제 허용됩니다.
글쎄, 한 방향으로는 '+'가 있습니다. – chris
'enum class' 또는 간단한'enum'을 사용하고 있습니까? –
@RSahu : 나는'enum class'를 하나 이상 가지고 있고 그것들은 같은 이름을 가진 멤버들을 가지고 있기 때문에'enum class'를 사용합니다. – Shibli