この場合に auto_ptr が役立つかどうかはよくわかりません。
class A
{
A(const B& member)
: _member(B)
{};
...
const B& _member;
};
A generateA() {
auto_ptr<B> smart(new B());
A myA(*smart);
return myA;
}
囲んでいるスコープを離れると、myA._member
参照は有効になりますか? smart
ここで auto_ptr が答えではない場合、それは何ですか?
編集:私が皆を混乱させたところがわかります。スコープ外で myA を返さなければならないため、 smart がスコープを終了した後に _member が有効であることを気にします。