我有一個函數可以在堆上分配兩個變量並將它們返回給調用者。事情是這樣的:從函數返回多個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