我不太清楚 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 返回范围之外,这就是为什么我关心 _member 在 smart 退出范围后是否有效。