トップページ > プログラム > 2015年01月31日 > 3hGQPgsJ

書き込み順位&時間帯一覧

9 位/188 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000002000001000000036



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C++相談室 part115 [転載禁止]©2ch.net
Visual Studio 2013 SP6©2ch.net
【Python】スクリプト バトルロワイヤル47【pl,rb,php,js】 [転載禁止]©2ch.net

書き込みレス一覧

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++の思想的には「クラスを追加するたびに勝手に辞書に登録されるのは許せない」だと思うがな
動的に作成されるべきクラスと、そうでないクラスがあるはずで、どちらに属するかはコンパイラが判断できるものじゃない


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。