Рубрики

Когда вызывается конструктор копирования?

В C ++ конструктор копирования может вызываться в следующих случаях:
1. Когда объект класса возвращается по значению.
2. Когда объект класса передается (в функцию) по значению в качестве аргумента.
3. Когда объект строится на основе другого объекта того же класса.
4. Когда компилятор генерирует временный объект.

Однако не гарантируется, что конструктор копирования будет вызываться во всех этих случаях, потому что стандарт C ++ позволяет компилятору оптимизировать удаление копии в определенных случаях, одним из примеров является оптимизация возвращаемого значения (иногда называемая RVO).

Ссылки:
http://www.fredosaurus.com/notes-cpp/oop-condestructors/copyconstructors.html
http://en.wikipedia.org/wiki/Copy_constructor

Рекомендуемые посты:

Когда вызывается конструктор копирования?

0.00 (0%) 0 votes