我们如何编写一个函数来交换两个枚举变量?

时间:2012-01-09 11:00:37

标签: c++ variables

我们如何编写一个交换枚举变量的函数?

这些变量也是标准的,与它们一起工作在项目中无关紧要吗? C ++编译器如何使用它们并将它们放入RAM?

3 个答案:

答案 0 :(得分:6)

使用std::swap

enum Foo {
    CAT,
    DOG,
    ELEPHANT
};

Foo a = CAT;
Foo b = ELEPHANT;

std::swap(a, b);

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

enum完全是标准的;它们相当于整数类型。

答案 1 :(得分:0)

您无需编写交换功能,std::swap即开即用。

enum是标准C ++。 enum值在内存中表示为整数类型,默认为int。您可以使用例如

更改此表示形式(在C ++ 11中)
enum Foo : short { A, B, C };

答案 2 :(得分:0)

确切地说,只需使用std::swap(....)