В С++ 98 компилятор С++ может автоматически генерировать конструктор копий и оператор присваивания копиям с помощью членской копии, например
struct X {
std::string s;
std::vector<int> v;
int n;
};
Компилятор автоматически создает экземпляр-конструктор и оператор присваивания копий для X
, используя экземпляр-копию.
Но как все меняется в С++ 11 с семантикой перемещения?
Созданы ли сгенерированные автоматически операторы присваивания конструктор и перемещать , например, конструкторы копирования и операторы присваивания копий?
Существуют ли случаи, когда операции перемещения не генерируются автоматически?