我有一个函数可以在堆上分配两个变量并将它们返回给调用者。事情是这样的:从函数返回多个auto_ptrs
void Create1(Obj** obj1, Obj** obj2)
{
*obj1 = new Obj;
*obj2 = new Obj;
}
通常情况下,在类似的情况下,如果我有一个变量的函数我用的是“源”招用auto_ptr
:
auto_ptr<Obj> Create2()
{
return new Obj;
}
我想用auto_ptr
重写Create1
但不知道该怎么做。据我了解,我不能通过引用返回auto_ptr,对吗?那么有可能呢?
这是一个选项。但是,如果可以的话,我宁愿不使用对和结构。 – FireAphis 2009-07-30 14:23:31
如果你喜欢返回参数,Timbo的答案应该可以工作。就我个人而言,我不喜欢返回参数,并尽可能避免。 – 2009-07-30 14:27:18