したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

プログラム状況報告スレ

73カッコウ:2003/08/27(水) 13:33
デストラクタでメンバの動的取得したバッファを開放するという処理を入れる際
NULLチェック(NULLであれば処理しない)を入れるのはあたりまえなのですがバッファ確保せずに
メンバのバッファの先頭ポインタを初期化(NULLを入れる)していないとNULLチェックを
通過してしまうのでコンストラクタでバッファの先頭ポインタにしっかりNULL入れましょうというお話。


今回はコンストラクタを二つ作っていて一つはバッファ先頭ポインタにNULLを入れていたが
二つ目のコンストラクタは最初の引数次第でポインタがNULLされないパターンがあった。
ていうかdeleteした時にエラーが出るんでnewを使わずに自動変数に変更したりしたのだが
デバッカで追えば関数が抜ける時(関数内の自動変数は関数から抜ける際に解放される。
つまりデストラクタが呼ばれる)にエラーが出てたんだから少し頭が働けば自分の作った
クラスが悪いと気が付くはずだが・・・俺のアフォ。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板