私はこのようなコンストラクタを持っています
ClassA::ClassA(void)
{
pImplClassA = new (std::nothrow) pImplClassA();
if (pImplClassA == null)
{
return;
}
}
ClassA::SomeFunc()
{
pImplClassA->SomeFunc();
}
私の質問は、pClassB が失敗した場合、classA インスタンスも null になるか、これを行ったときに既にインスタンス化されているかということです。
ClassA* pClassA = new ClassA()
pClassA->SomeFunc();
コンストラクターが失敗したため、pClassA を null にするべきではありません。そうでない場合でも、 ClassA::SomeFunc() を呼び出すことができますが、インスタンス化されていないため、そこでクラッシュします。
pClassA は null でしょうか? ありがとう