C ++ 11 int値で列挙型クラス値を取得するにはどうすればよいですか?

チェス

int変数値で列挙型クラスバリアントを取得できますか?今、私はとても列挙型のクラスを持っています:

enum class Action: unsigned int {
REQUEST,
RETURN,
ISSUANCE
};

そして、データベース値からこの値を取得する必要があります(データベースはunsigned intを返します)。それを最適化する方法は?今、私は各バリアントにスイッチを使用していますが、それは愚かです。説明してください!

ビルズ

任意の列挙型クラスをその基になる型(C ++ 14)に変換できるはずのジェネリック変換関数を作成することもできます。

template<typename E>
constexpr auto toUnderlyingType(E e) 
{
    return static_cast<typename std::underlying_type<E>::type>(e);
}

C ++ 11の場合

template<typename E>
constexpr auto toUnderlyingType(E e) -> typename td::underlying_type<E>::type 
{
   return static_cast<typename std::underlying_type<E>::type>(e);
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

C ++ 11で独自のinitializer_listクラスを作成するにはどうすればよいですか?

値からC#列挙型の説明を取得するにはどうすればよいですか?

C ++ 11テンプレート:型がクラスを継承することを確認するにはどうすればよいですか?

C ++ 11マルチスレッドを使用して値を取得するにはどうすればよいですか

重複する値を含むC ++ 11列挙型クラス

名前付きユニオンでコンストラクターを使用するにはどうすればよいですか?また、後で同じユニオンインスタンスの値を変更するにはどうすればよいですか?c ++ / c ++ 11

C ++で割り当てられた列挙型からランダムな値を取得するにはどうすればよいですか?

C ++ 11でwregexを使用するにはどうすればよいですか?

G ++でC ++ 11を使用するにはどうすればよいですか?

Cの列挙型の値を確認するにはどうすればよいですか?

C ++内部列挙型クラスにアクセスするにはどうすればよいですか?

GCC、RaspbianでC11ヘッダーを取得するにはどうすればよいですか?

C ++ 11では、戻り値の型に基づいて関数オブジェクトを受け取る関数テンプレートを特殊化するにはどうすればよいですか?

to_stringまたはstoiを使用せずにC ++ 11でintを文字列に変換するにはどうすればよいですか?

C ++ 11/14でラムダクロージャタイプをインスタンス化するにはどうすればよいですか?

std :: arrayクラスのメンバーを静的にアサートしてc ++ 11でソートするにはどうすればよいですか?

CMakeでC ++ 11をアクティブ化するにはどうすればよいですか?

Asp.Net Core DropdownListを取得して[Display()]値をC#列挙型で表示するにはどうすればよいですか?

C「クラス」のC ++ 11詐欺師に演算子削除を実装するにはどうすればよいですか?

C「クラス」のC ++ 11詐欺師に演算子削除を実装するにはどうすればよいですか?

C ++ 11でスレッドを終了するにはどうすればよいですか?

C ++ 11:派生クラスの基本クラスメンバーにアクセスするにはどうすればよいですか?

C ++ 11スタイルのstrongtypedefを使用して新しいプリミティブ型を作成するにはどうすればよいですか?

C ++ 11ライブラリAPIを使用するC ++ 03プロジェクトをコンパイルするにはどうすればよいですか?

X11と同様に実装されたWebAssemblyのグラフィックをC ++ 14で作成するにはどうすればよいですか?

C ++ 11でUNIXタイムスタンプ文字列をtime_tに適切に変換するにはどうすればよいですか?

C ++で列挙型をフラグとして使用するにはどうすればよいですか?

MessagePack、c ++:c ++ 11列挙型クラスでMSGPACK_DEFINEを使用する方法

C ++でアトミック列挙型を作成するにはどうすればよいですか?

TOP 一覧

  1. 1

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  2. 2

    CSSのみを使用して三角形のアニメーションを作成する方法

  3. 3

    ZScalerと証明書の問題により、Dockerを使用できません

  4. 4

    ドロップダウンリストで選択したアイテムのQComboBoxスタイル

  5. 5

    別のホストからTomcat Managerアプリにアクセスする

  6. 6

    PyCharmリモートインタープリターはプロジェクトタブにサイトパッケージのコンテンツを表示しません

  7. 7

    Windows 10でのUSB入力デバイスの挿入/取り外しの検出

  8. 8

    Python / SciPyのピーク検出アルゴリズム

  9. 9

    MLでのデータ前処理の背後にある直感

  10. 10

    useRefに反応してコンポーネントをスクロールして表示する

  11. 11

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  12. 12

    パンダは異なる名前の列に追加します

  13. 13

    PictureBoxで画像のブレンドを無効にする

  14. 14

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  15. 15

    Pythonを使用して、リストからデータを読み取り、特定の値をElasticsearchにインデックス付けするにはどうすればよいですか?

  16. 16

    LinuxでPySide2(Qt for Python)をインストールするQt Designerはどこにありますか?

  17. 17

    Material-UIでTextFieldエラーの色を条件付きでオーバーライドする方法

  18. 18

    goormIDEは、ターミナルがロードするデフォルトプロジェクトを変更します

  19. 19

    MatplotlibまたはSeabornを使用して、グループ化されたデータから複数のプロットを生成するにはどうすればよいですか?

  20. 20

    Luaの文字列から特定の特殊文字を削除するにはどうすればよいですか?

  21. 21

    Flutterにファイルピッカープラグインを追加するにはどうすればよいですか?

ホットタグ

アーカイブ