bada C ++スタイルガイド/アーキテクチャは、C++オブジェクトの2段階の初期化を使用します。
なぜそれらは単にscoped_ptrの使用を必要としなかったのですか?
私は超能力者ではないので、あなたは彼らに尋ねるべきです。
しかし、彼らの答えは、そのページの上部近くに太字で書かれているものと同じだと思います。「2段階の構築がないと、リソースリークが発生します」。
しかし、私はこの評価に同意しません。本当の問題は、ComplexClassコンストラクター本体が例外安全ではないことです。これが適切に行われると、コードは、特にスケーリングするときに、単純なRAIIではるかに堅牢になります。
「なぜ彼らは単にscoped_ptrを必要としなかったのか」という点で:サードパーティのライブラリではなく、C++について話しているのはC++03ドキュメントだと思います。
スコーピングは、2フェーズ構造の理由ではありません。コンストラクターには例外以外のエラーを返す方法がなく、例外を使用していないという事実があります(IMHOの唯一の理由は、それがまだ10年前であると考えていることです)。