我有一个在堆上分配两个变量并将它们返回给调用者的函数。像这样的东西:
void Create1(Obj** obj1, Obj** obj2)
{
*obj1 = new Obj;
*obj2 = new Obj;
}
通常,在类似的情况下,当我有一个带有一个变量的函数时,我会使用“源”技巧auto_ptr
:
auto_ptr<Obj> Create2()
{
return new Obj;
}
我想改写Create1
usingauto_ptr
但不知道该怎么做。据我了解,我不能通过引用返回 auto_ptr,对吗?那么有可能吗?