水曜日, 7月 17, 2013

プチクイズ 6 - コンストラクタの例外


Q. 何故コンストラクタが例外を送出するのは良くないのか,理由を述べよ.

A. もしコンストラクタの処理最中で例外が送出された場合,デスクトラクタは呼ばれない.その結果メモリリークが発生する可能性がある.

ただし,safe C++ではスマートポインタを使って,更にデストラクタを空にしたならば,むしろコンストラクタから例外を投げることも悪くはないと述べている.

0 件のコメント: