構造体のオブジェクトをプログラムで作成し、フィールド値? (JSON)ファイルからエントリを読み込んで構造体を埋める必要があるとします。私は値の構造体の名前と値を持っていますが、コードですべての構造体をループしてメモリ内のデータを埋め込むようにしたいと考えています。奇妙に聞こえるかもしれませんが、方法はありますか?構造体のオブジェクトをプログラムで作成し、構造体名とフィールド値のリストを持つときにフィールドを埋め込むことは可能ですか?
0
A
答えて
1
いいえ。あなたが探している言語機能は、反射と呼ばれ、C++はそれを持っていません。
代わりにstd::map<std::string, SomeType>
を作成できますか?フィールドによってSomeType
が異なる場合、boost::variant
は任意の時点で複数のタイプのいずれかを保存することができます(基本的にタグ付きのユニオンです)。
また、Pythonに切り替えることもできます。 :)
+0
Variadicテンプレートでは不可能ですか?私たちのライブラリの使用は非常に制限されており、C++ 11コンパイラ – sach
+0
を使用しています。Variadicテンプレートは、可変数のテンプレート引数を持つクラス/関数テンプレートを作成できるコンパイル時の構造です。 –
関連する問題
- 1. 構造体がリスト内にあるときに構造体フィールドを変更
- 2. 構造体の埋め込みとパッキング
- 3. フィールド(golang)に構造体を埋め込む目的は何ですか?
- 4. ディレクトリ構造全体を埋め込む
- 5. 構造体のフィールドのリストを取得
- 6. 1つの構造体が既存の構造体を拡張し、すべてのフィールドを保持することは可能ですか?使用
- 7. 構造体のフィールドを含むクラスと同じテーブルに格納することは可能ですか?
- 8. MatLab - 構造体とフィールド配列
- 9. フィールド型とタイトルの値を持つカスタム構造体を返すMySQLクエリ
- 10. 構造体を別の構造体にキャストすることは可能ですか?
- 11. 埋め込みモノ:C#でのC#構造体の作成/マーシャリング
- 12. 構造体とint64の値
- 13. Golang変数構造体フィールド
- 14. copy_to_userと構造体を持つcopy_from_user
- 15. 構造体を連結する:既存のフィールドを上書きせずに構造体フィールドを更新する
- 16. 構造体にハイブサポートオプションのフィールドを行い
- 17. 構造体と配列を持つスイッチ構造
- 18. 構造体のベクトルを持つ構造体のベクトルのベクトルを構築できますか? (はい、実際に)
- 19. MATLABの構造体に構造体を作成するには? Cコードで
- 20. ビッグエンディアンとリトルエンディアンマシン用の構造体埋め込み
- 21. 構造体への引数としての構造体
- 22. 構造体内に `initializer_list` ctorを持つ構造体はありますか?
- 23. Matlab:インデックスとして変数名を持つ構造体
- 24. ポインタを含むベクトルを構造体VS構造体にソート
- 25. 他の構造体を含むバイナリファイルから構造体を読み込んで読み込む(C)
- 26. C構造体内の構造体内部の構造体
- 27. クラスと構造体を含むコンストラクタ/デストラクタ
- 28. C++の構造体のフィールドのサイズ
- 29. Datagrid +構造体フィールドへの列のマップ
- 30. struct net_device構造体の埋め込みについて
あなたは 'struct'でそれを行うことはできませんが、あなたはユーザー定義型を使ってそのようなデータ構造を作ることができます。あなたのためにこれを行う 'json'ライブラリの束があります。 – Galik