Как компилятор определяет, когда использовать конструктор копирования, а когда конструктор перемещения?
можете объяснить как компилятор определяет, когда использовать конструктор копирования, а когда конструктор перемещения?
Ответы (1 шт):
Автор решения: arthas
→ Ссылка
Конструктор копирования вызывается, когда источник является lvalue (ссылкой на объект). Конструктор перемещения вызывается, когда источник является rvalue (временным объектом или объектом, который может быть "украден").
Если конструктор перемещения не определён (или удалён), компилятор будет использовать конструктор копирования.