enum変数をスワップする関数を書くにはどうすればよいですか?2つの列挙型変数を交換する関数を作成するにはどうすればよいですか?
これらの変数は標準でもあり、プロジェクトでは問題はありません。 C++コンパイラはそれらをどのように使用してRAMに配置しますか?
enum変数をスワップする関数を書くにはどうすればよいですか?2つの列挙型変数を交換する関数を作成するにはどうすればよいですか?
これらの変数は標準でもあり、プロジェクトでは問題はありません。 C++コンパイラはそれらをどのように使用してRAMに配置しますか?
使用std::swap
:
enum Foo {
CAT,
DOG,
ELEPHANT
};
Foo a = CAT;
Foo b = ELEPHANT;
std::swap(a, b);
std::cout << (a == ELEPHANT) << "\n";
enum
は完全に標準です。整数型と同等です。
スワップ機能を書く必要はありません。std::swap
はそのまま使用できます。
enum
は標準のC++です。 enum
の値はメモリ内の整数型として表され、デフォルトではint
と表されます。この表現は、(C++ 11では)例えば次のように変更することができます。
enum Foo : short { A, B, C };
正確には、ちょうどstd::swap(....)
を使用してください。
temp = e1; e1 = e2; e2 = temp;私は詳細が必要だと思う。 – kenny