У меня есть функция, которая выделяет две переменные в куче и возвращает их вызывающей стороне. Примерно так:
void Create1(Obj** obj1, Obj** obj2)
{
*obj1 = new Obj;
*obj2 = new Obj;
}
Обычно, в подобных случаях, когда у меня есть функция с одной переменной, я использую трюк "source" с auto_ptr
:
auto_ptr<Obj> Create2()
{
return new Obj;
}
Я хотел бы переписать Create1
, используя auto_ptr
, но не уверен, как это сделать. Насколько я понимаю, я не могу вернуть auto_ptr по ссылке, я прав? Так возможно ли это вообще?