2012-01-09 57 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(....)

相关问题