0からの、超初心者C++相談室at TECH0からの、超初心者C++相談室 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト807:デフォルトの名無しさん 24/03/12 20:26:30.54 lzPsc8Dg.net 異なる型を含むような配列(的なもの)を作りたいのですが、可能でしょうか? 例えば template <T> struct NamedValue { string name; T value; } を定義して NamedValue<string>{a, b} や NamedValue<int>{c, d} などの型の異なる複数の値を、 一つの配列的なものに収納したいのです 例えばvectorは全要素が同じ型じゃないと駄目ですよね 808:デフォルトの名無しさん 24/03/12 21:14:27.11 irRbCjS4.net >>807 std::tuple 809:デフォルトの名無しさん 24/03/12 21:19:48.50 irRbCjS4.net あるいは要素数がコンパイル時に決まらないなら std::anyをコンテナに入れるとか? 810:デフォルトの名無しさん 24/03/12 22:11:10.08 lzPsc8Dg.net はい、要素数はコンパイル時に決まらないのでstd::anyのコンテナですかね で要素を取り出すときは、どの型なのかをチェックして挙動を... 811:はちみつ餃子 24/03/12 23:03:39.03 WtXn1sYk.net もし >>807 の T の種類が限られているのなら std::variant を使ったほうが楽かもしれない。 std::visit を使えば型の種類ごとに処理を切り替えるのが便利なことがある。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch