考慮下面的代碼:在unordered_map中查找枚舉並獲取其值?
enum Keys {
Up,
Down,
Left,
Right
};
enum KeyState {
Down,
Up
};
std::unordered_map<Keys, KeyState> keys;
keys[Keys::Up] = KeyState::Up;
keys[Keys::Down] = KeyState::Up;
keys[Keys::Left] = KeyState::Down;
keys[Keys::Right] = KeyState::Up;
我怎麼能寫這樣的方法:
isKeyDown(Keys key) {
return true if key has the Up or Down state.
}
(並學習至少C++的基礎知識。) – 2013-10-04 20:16:52
@ H2CO3嗯,問題不是完全的損失:我發現'std :: hash'可能有一個專門化,其中'E'是默認的任何'enum'!整齊。 –
Yakk