etc.この広告は、90日以上更新していないブログに表示しています。コンストラクタでのリソースリークを防ぐ顔写真や音声も保存できる住所録を考える。音声クリップ};名前は必須だとする。コンストラクタは以下のようになる。theAudioClip;}コンストラクタのAudioClipオブジェクト作成部分で、メモリが足りなくて例外が起きた場合、theImageオブジェクトは破棄されない。コンストラクタが終了していないオブジェクトはデストラクタが呼ばれない。例外が発生した場合に、自分でdeleteを読んでも無駄だ。throw;}生成中に例外が発生したオブジェクトの後片付けをC++はやらない。コンストラクタを設計する際は後片付けを考える必要がある。}}auto_ptrを使うことで、ポインタ変数がなくなるときに、指し示すオブジェクトも後片付けをすることができる。auto_ptrにする};これでコンストラクタで例外が発生してもリソースリークは起こらない。theImageとtheAudioClipは初期化リストでの初期化もできるようなる。0){}theImageとtheAudioClipはオブジェクトなので、BookEntryオブジェクトが破棄されるときには自動で破棄される。よってデストラクタは空になる。何もしなくてよいまとめクラスのポインタメンバをauto_ptrオブジェクトにすることで、例外が発生した場合でもリソースリークを防ぐことができ、デストラクタで手動で破棄する必要もなくなる。(1)はてなブログをはじめよう!trisectionさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。