- C++相談室 part115 [転載禁止]©2ch.net
723 :デフォルトの名無しさん[sage]:2015/01/31(土) 09:28:08.78 ID:3hGQPgsJ - >>718
おそらくあなたの想像しているような処理だけでは「できない」。 少なくとも、その処理をサポートする全てのオブジェクトは同一のクラス/インタフェースから派生し、 さらに「文字列 (ID) → インスタンスをnewして返す関数」のマッピングどこかに持たなければならない。 C/C++で動的にオブジェクトを生成/シリアライズする方法は MicrosoftがCOM/OLEで20-30年前に通った道だから、 CoCreateInstance なり IPersistStreamInit をキーワードに調べてみるといい。 Objective-C のほうはよく知らないが、どちらかといえば全てのインスタンスが map<string, any> みたいなものだから、C++のクラスとは本質的に異なると思う。
|
- C++相談室 part115 [転載禁止]©2ch.net
726 :デフォルトの名無しさん[sage]:2015/01/31(土) 09:53:37.26 ID:3hGQPgsJ - クラスのコンストラクタが dll/so からエクスポートされていれば、
エクスポート名をdemangleして関数ポインタを得ることはできるかもしれない。 その場合、「コンストラクタの関数ポインタ」という珍しいものを扱うことになるんだろうか。 コンパイラに依存しすぎるし、やりたくは無いな。
|
- Visual Studio 2013 SP6©2ch.net
805 :デフォルトの名無しさん[sage]:2015/01/31(土) 15:32:21.29 ID:3hGQPgsJ - 昔と比べるとC++ものインテリセンスやデバッガも格段に進化したよな。
テンプレートを使ってもそれなりに候補を出してくれるし、 デバッグ中にstd::stringの変数にカーソルを合わせたときに中身を表示してくれたときは感動した。
|
- C++相談室 part115 [転載禁止]©2ch.net
745 :デフォルトの名無しさん[sage]:2015/01/31(土) 23:34:12.95 ID:3hGQPgsJ - C++でもコンパイルタイム リフレクションなら採用される余地があるのかな?
スクリプト言語用のバインダで結構欲しいケースがあるんだよな
|
- 【Python】スクリプト バトルロワイヤル47【pl,rb,php,js】 [転載禁止]©2ch.net
430 :デフォルトの名無しさん[sage]:2015/01/31(土) 23:35:12.71 ID:3hGQPgsJ - スレタイを読んでもその発言ができるのか・・・
|
- C++相談室 part115 [転載禁止]©2ch.net
747 :デフォルトの名無しさん[sage]:2015/01/31(土) 23:50:26.91 ID:3hGQPgsJ - C++の思想的には「クラスを追加するたびに勝手に辞書に登録されるのは許せない」だと思うがな
動的に作成されるべきクラスと、そうでないクラスがあるはずで、どちらに属するかはコンパイラが判断できるものじゃない
|