非整数の列挙データ型を作成する方法はありますか?

Dasaru

私は簡単な変換プログラムを書いていますが、これに似たものを作成したいと思います。

//Ratios of a meter
enum Unit_Type
{
  CENTIMETER = 0.01, //only integers allowed
  METER = 1,
  KILOMETER = 1000
};

このようにデータを整理できる簡単なデータ構造はありますか?

マリオ

あんまり。C ++ 11では、列挙型に非常に優れた新しい機能がいくつか導入されています。たとえば、特定の内部データ型(などcharを列挙型に割り当てることができますが、floatやその他の非整数型を追加する方法はありません。

あなたが実際にやろうとしていることに応じて、私はこれのためにいくつかの単純な古い構造体を使用します:

struct UnitInfo {
    const char *name;
    float       ratio;
};

UnitInfo units[] = {
    {"centimeter",   0.01f},
    {"meter",        1},
    {"kilometer", 1000},
    {0, 0} // special "terminator"
};

次に、イテレータとしてポインタを使用して、使用可能なすべてのユニットを反復処理できます。

float in;
std::cout << "Length in meters: ";
std::cin >> in;

// Iterate over all available units
for (UnitInfo *p = units; *p; ++p) {
    // Use the unit information:
    //  p[0] is the unit name
    //  p[1] is the conversion ratio
    std::cout << (in / p[1]) << " " << p[0] << std::endl;
}

これが実際の値(のような100 * CENTIMETERと一緒にそれらの比率を使用することに関するものである場合、C ++ 11のユーザー定義リテラルはあなたにとって何かかもしれません:

constexpr float operator"" _cm(float units) {
    return units * .01f;
}

これは、次のように使用できます。

float distance = 150_cm;

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

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

編集
0

コメントを追加

0

関連記事

netlogoで列挙型を作成する方法はありますか?

Kotlinのデータクラス内に列挙型をネストする方法はありますか?

列挙型データ型の場合にユーザー入力を取得するための可能な方法はありますか?

異なるデータ型の列を参照する方法はありますか?

pysparkで列のデータ型を取得する方法はありますか?

postgres配列のデータ型を伝える方法はありますか?

整数データ型を処理するためのより効率的な方法はありますか?

VBAで列挙型を取得する方法はありますか?

列挙型の基になる型としてブール値を使用する方法はありますか?

* any *列挙型の注釈属性を宣言する方法はありますか?

列挙型の単項演算子を実装する方法はありますか?

[Rust列挙型]:Rustの混合型列挙型からデータ値を取得する方法は?

値の範囲のみを受け入れるデータ型を作成する方法はありますか?

Python列挙型のデフォルト値を指定する方法はありますか?

typescriptの列挙型からキー/番号のリストを取得する簡単な方法はありますか?

列挙型を作成する方法またはそれをどこに保存する必要がありますか?

C ++の列挙型に静的ポインタアドレスを格納する方法はありますか?

列挙型の識別子としてキーワードを使用する方法はありますか?

一部のフィールド値を更新して列挙型のコピーを作成する方法はありますか?

2つの列挙型データ型で構成される列挙型データ型を作成することは可能ですか?

列挙値のエイリアスを作成する方法はありますか?

Java列挙型の要素に整数値が「欠落」している方法はありますか?

Rustの列挙型フィールドを変更する簡単な方法はありますか?

ansi Cで抽象データ型を作成するための標準的な方法はありますか?

データ型のみに拡張関数を作成する方法はありますか?

列挙型のバリアントを期待してそのデータを抽出するために使用できるマクロはありますか?

postgresの同じ列内に異なるデータ型を保存する正しい方法はありますか?

MySQLでデータ型の最小値を取得する方法はありますか?

列挙型間で継承する方法はありますか?

TOP 一覧

  1. 1

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  2. 2

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

  3. 3

    Ansibleで複数行のシェルスクリプトを実行する方法

  4. 4

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  5. 5

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  6. 6

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  7. 7

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

  8. 8

    Chromeウェブアプリのウェブビューの高さの問題

  9. 9

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

  10. 10

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  11. 11

    Reactでclsxを使用する方法

  12. 12

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  13. 13

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

  14. 14

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  15. 15

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  16. 16

    mutate_allとifelseを組み合わせるにはどうすればよいですか

  17. 17

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

  18. 18

    テキストフィールドの値に基づいて UIslider を移動します

  19. 19

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  20. 20

    PowerShellの分割ファイルへのヘッダーの追加

  21. 21

    ソートされた検索、ターゲット値未満の数をカウント

ホットタグ

アーカイブ