2012-01-09 7 views

答えて

6

使用std::swap

enum Foo { 
    CAT, 
    DOG, 
    ELEPHANT 
}; 

Foo a = CAT; 
Foo b = ELEPHANT; 

std::swap(a, b); 

std::cout << (a == ELEPHANT) << "\n"; 

enumは完全に標準です。整数型と同等です。

0

スワップ機能を書く必要はありません。std::swapはそのまま使用できます。

enumは標準のC++です。 enumの値はメモリ内の整数型として表され、デフォルトではintと表されます。この表現は、(C++ 11では)例えば次のように変更することができます。

enum Foo : short { A, B, C }; 
0

正確には、ちょうどstd::swap(....)を使用してください。

関連する問題