C++相談室 part11
■ このスレッドは過去ログ倉庫に格納されています
0042元質問者
NGNGまず、
>25
これは私が書いたコードではなくVC++というツールが吐く
スケルトンです。
なぜMDIスケルトンがnewを使うかを確認するために、下記にコード変更
staticCMultiDocTemplate oDocTemplate(
IDR_TEST33TYPE,
RUNTIME_CLASS(CTest333Doc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CTest333View));
AddDocTemplate(&oDocTemplate);
ビルドして実行すると、予想に反して何事もなく動作しました。
(アプリ抜けるときに例外発生するけど、もともとnewを想定した>36辺りの処
理の問題だと思われます。あまり重要でないと思う。)
→普通のオブジェクトでいいものを何でnewしてるんだろう?
→Win9X系のリソース(640KByteの)問題で、ヒープにCMultiDocTemplate
のエリアを確保したかったのでは?(子ウインドが何枚開かれるのか分か
らないので)
と言うことでリソースメータを起動して、オブジェクトの場合とnewの場合と
で、それぞれ子ウインドを1000枚開いて比較。
→結果、リソース使用量変わらず。
ここまでやって、”なんか知らんがnew使った方がいいんだろう。”
という結論に達しました。また気が向いたら解析することにします。
(今度はこっちがスレ違いに、、、)
■ このスレッドは過去ログ倉庫に格納されています