私のクラスのコンストラクターは、何らかの条件をチェックします。場合によっては、オブジェクトの作成を中断する必要があります。デストラクタを配置する必要がありますか、それともステートメントを返すだけですか?
次のようになります。
コードのどこかに:
new Obj( string );
そして私のコンストラクタ:
Obj::Obj( string ) {
if( string == "something" ) {
// should I put this here or only return?
Obj::~Obj();
return;
}
// ...
}
オブジェクトの作成前に状態を確認できることはわかっていますが、実行時にクラッシュすることなく適切にコンパイルされるため、正しいかどうか (メモリ リークがない場合) は気になります。