Вернуть объект из функции по значению и использовать его в присваивании / копировании c'tor C++
Предположим, что функция возвращает объект класса A по значению.
A f();
Предположим, у нас есть позднее назначение / копирование c'tor:
a = f(); //a is of type A - assignment
A aa = f(); // copy c'tor
d'or возвращенного объекта вызывается после присваивания / инициализации?
1 ответ
Если возвращаемый объект будет уничтожен до инициализации копирования, вы должны скопировать в aa
разрушенный объект. Это что-то странное.
Оптимизация возвращаемого значения также может иметь место, поэтому не будет необходимости копировать возвращаемый объект и уничтожать его.