LINUX.ORG.RU

copy ctor, объясните плиз

 


0

2

взято отсюда http://en.cppreference.com/w/cpp/language/move_constructor

почему вот тут

C c2 = std::move(c1); // calls the copy constructor
вызывается не move ctor, а copy ctor? Объясните плиз. Ведь результат C c2 = std::move(c1) будет же xvalue,и соответственно дб вызван move ctor.



Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от kabanchik

Если у класса определены конструктор копирования и/или деструктор, то вероятно логика копирования/перемещения может оказаться нетривиальной. Поэтому дефолтный конструктор перемещения не создается, во избежание потенциально неправильного поведения.

ddos3
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.