我不太清楚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;
}
当 smart
离开其封闭作用域时,myA._member
引用仍然有效吗? 如果 auto_ptr 在这里不是答案,那么什么是答案?
编辑:我看到我让大家困惑的地方; 我必须在作用域之外返回 myA,这就是为什么我关心 smart 退出作用域后 _member 是否有效。