деструктор — возвращает объект из функции по значению и использует его в присваивании / копировании или переполнении стека

предположим, что функция возвращает объект класса A по значению.

A f();

Предположим, у нас есть позднее назначение / копирование c’tor:

a = f(); //a is of type A - assignment
A aa = f(); // copy c'tor

d’or возвращенного объекта вызывается после присваивания / инициализации?

0

Решение

Если возвращаемый объект будет уничтожен до инициализации копирования, вы должны скопировать в aa разрушенный объект. Это что-то странное.

Оптимизация возвращаемого значения также может иметь место, поэтому нет необходимости копировать возвращаемый объект и уничтожать его.

0

Другие решения


По вопросам рекламы [email protected]