Daniro_San
@Daniro_San
Программист

Вызов копирующего конструктора?

struct Example
{
     Example(const int &i){}
};
Example a=1; // Вызов конструктора
Example b=a; // Вызов копирующего конструктора по умолчанию

Example c=Example(1); // Но что это?

Это вызов конструктора с параметром 1 ИЛИ вызов копирующего конструктора по умолчанию?
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
Сначала вызов конструктора для создания временного объекта, затем вызов конструктора копирования из временного объекта в тот, что определён слева. Но компилятор может оптимизировать до 1 вызова, если конструктор копирования явно не определён.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы