- 102 名前:65 mailto:sage [03/05/23 07:49]
- >>99
ごめんなさい、私がC++のdelete[]の仕様を誤解しておりました。 delete[]は要素についてデストラクタを呼ばないと思っていましたが、そうでは ないのですね。wxObjArray(でないといけない)説は撤回します。 普通の配列でも同じ話が出来るということで。 memory problemsが何を指すかですが、wxObjectは基本的にハンドラで、データ の実体であるRefDataへのポインタを持ちます。RefDataはリファレンスカウント で管理されます。wxObjectがデストラクタでUnRef()するとカウントが減り、0 になれば破壊されます。 main loopを抜けたあとでリソースのclean upが行われるとすると、この時点で RefDataは破壊されます。万一、この時点でまだ配列が生き残っていて、それが これより後にdelete[]され、そしてそれぞれの要素のデストラクタが呼ばれると、 破壊されたRefDataを触ることになるので問題が発生します。 ……ということを言っているように思います。 もっとも、少なくともwxMSWのwxBitmapではcleanupはやってなさそうに見えます。 >>96 現状でもEUC-JP/SJIS変換できますよ。iconv使えますから。
|

|