C ++ 11のテンプレート引数に基づいて配列サイズを選択しますか?

雷恐怖症

このコードを検討してください:

enum class EnumType
{
  Type1,
  Type2
};

constexpr std::size_t the_length;

template <EnumType T>
int function()
{
  std::array<uint8_t, the_length> x;
  //some code here that uses x 
}

配列の長さをxタイプに基づいて異なる値にしたいのですがTたとえばT、2つの値(Type1Type2)のいずれを取ることができるthe_length場合T==Type1、の場合は値10 T==Type2。の場合は値20にしますこれはC ++ 11で実行できますか?ありがとう

max66

古き良き三項演算子の何が問題になっていますか?

template <EnumType T>
int function()
{
  std::array<SomeType, T == EnumType::Type1 ? 10u : 20u> x;
}

Tがでありtypename、あるタイプの値ではない場合、テストを変更するだけで済みます。

template <typename T>
int function()
{
  std::array<T, std::is_same<SomeType1, T>::value ? 10u : 20u> x;
}

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

C ++ 11のテンプレート引数に基づいて配列サイズを選択しますか?

分類Dev

C ++の複数のランタイム文字列に基づいて複数のテンプレートを選択します

分類Dev

C ++の実行時文字列に基づいてテンプレートを選択します

分類Dev

C ++テンプレート-引数に基づいてメンバー関数をコンパイルします

分類Dev

テンプレート引数に基づいて型を返すC ++テンプレート関数

分類Dev

c ++テンプレート関数の引数タイプに基づいてさまざまなタイプに解決する

分類Dev

Cでのユーザー入力に基づいて配列のサイズを動的に割り当てます

分類Dev

C#ファイルを配列に読み取り、整数のテストに基づいて行をランダムに選択しようとしています

分類Dev

サイズが不明なテンプレートクラスの2D配列を作成しようとしています(C ++)

分類Dev

C ++ 11明示的テンプレートを使用してバイナリサイズを減らすにはどうすればよいですか?

分類Dev

C#-別のリストとの部分的な交差に基づいてリストから特定のアイテムを選択します(Linq + Lambda)

分類Dev

最新のC ++で可変個引数テンプレート引数の別のグループに基づいて可変個引数テンプレート型を表す方法は?

分類Dev

C ++テンプレートメタプログラムのこのビットを改善して、サイズを含む配列を返すにはどうすればよいですか?

分類Dev

構造体テンプレート内のC配列のサイズを自動的に推測するにはどうすればよいですか?

分類Dev

実行時にテンプレート引数を選択するC ++関数

分類Dev

c-torの特定の条件に基づいて、初期化する変数を選択しますか?

分類Dev

画像サイズc#に基づいて透かしテキストサイズを動的に割り当てます

分類Dev

テンプレート関数でサイズ「static * int」のchar配列を初期化するc ++

分類Dev

テンプレート文字列リテラルに基づいて返されるc ++関数ポインタ

分類Dev

switchステートメントを使用して、選択したブール値に基づいて分岐します。Objective-C

分類Dev

constexpr配列をテンプレートの非型引数として使用する(C ++ 14)

分類Dev

マージソート(C#)を使用して、複数の基準に基づいて配列をソートすることは可能ですか?

分類Dev

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

分類Dev

C ++ 14の可変個引数テンプレートで呼び出し可能タイプと呼び出し不可能タイプを選択するための洗練されたソリューションはありますか

分類Dev

特定のサイズのstd :: arrayを返すC ++テンプレート関数を作成します

分類Dev

静的constexpr配列をC ++ 11のテンプレートパラメーターに変換します

分類Dev

MongoDB C#ドライバーを使用して、配列内のN番目の値に基づいて複数のレコードを更新する

分類Dev

内部テンプレートクラスをC ++のテンプレート引数として渡します

分類Dev

UI からディレクトリを参照してファイルを選択し、ファイルの場所を取得して、Objective C の Mac OS アプリの文字列変数でそのコンテンツを読み取ります。

Related 関連記事

  1. 1

    C ++ 11のテンプレート引数に基づいて配列サイズを選択しますか?

  2. 2

    C ++の複数のランタイム文字列に基づいて複数のテンプレートを選択します

  3. 3

    C ++の実行時文字列に基づいてテンプレートを選択します

  4. 4

    C ++テンプレート-引数に基づいてメンバー関数をコンパイルします

  5. 5

    テンプレート引数に基づいて型を返すC ++テンプレート関数

  6. 6

    c ++テンプレート関数の引数タイプに基づいてさまざまなタイプに解決する

  7. 7

    Cでのユーザー入力に基づいて配列のサイズを動的に割り当てます

  8. 8

    C#ファイルを配列に読み取り、整数のテストに基づいて行をランダムに選択しようとしています

  9. 9

    サイズが不明なテンプレートクラスの2D配列を作成しようとしています(C ++)

  10. 10

    C ++ 11明示的テンプレートを使用してバイナリサイズを減らすにはどうすればよいですか?

  11. 11

    C#-別のリストとの部分的な交差に基づいてリストから特定のアイテムを選択します(Linq + Lambda)

  12. 12

    最新のC ++で可変個引数テンプレート引数の別のグループに基づいて可変個引数テンプレート型を表す方法は?

  13. 13

    C ++テンプレートメタプログラムのこのビットを改善して、サイズを含む配列を返すにはどうすればよいですか?

  14. 14

    構造体テンプレート内のC配列のサイズを自動的に推測するにはどうすればよいですか?

  15. 15

    実行時にテンプレート引数を選択するC ++関数

  16. 16

    c-torの特定の条件に基づいて、初期化する変数を選択しますか?

  17. 17

    画像サイズc#に基づいて透かしテキストサイズを動的に割り当てます

  18. 18

    テンプレート関数でサイズ「static * int」のchar配列を初期化するc ++

  19. 19

    テンプレート文字列リテラルに基づいて返されるc ++関数ポインタ

  20. 20

    switchステートメントを使用して、選択したブール値に基づいて分岐します。Objective-C

  21. 21

    constexpr配列をテンプレートの非型引数として使用する(C ++ 14)

  22. 22

    マージソート(C#)を使用して、複数の基準に基づいて配列をソートすることは可能ですか?

  23. 23

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

  24. 24

    C ++ 14の可変個引数テンプレートで呼び出し可能タイプと呼び出し不可能タイプを選択するための洗練されたソリューションはありますか

  25. 25

    特定のサイズのstd :: arrayを返すC ++テンプレート関数を作成します

  26. 26

    静的constexpr配列をC ++ 11のテンプレートパラメーターに変換します

  27. 27

    MongoDB C#ドライバーを使用して、配列内のN番目の値に基づいて複数のレコードを更新する

  28. 28

    内部テンプレートクラスをC ++のテンプレート引数として渡します

  29. 29

    UI からディレクトリを参照してファイルを選択し、ファイルの場所を取得して、Objective C の Mac OS アプリの文字列変数でそのコンテンツを読み取ります。

ホットタグ

アーカイブ