Сделайте класс некопируемым *и* неперемещаемым ⇐ C++
-
Гость
Сделайте класс некопируемым *и* неперемещаемым
До C++11 я мог использовать это, чтобы сделать класс некопируемым:
частный: МойКласс(константный МойКласс&); MyClass& оператор=(const MyClass&); В C++11 я могу сделать это следующим образом:
MyClass(const MyClass&) = delete; MyClass& оператор=(const MyClass&) = удалить; При использовании класса с удаленной копией и присвоением существует ли вероятность того, что будет создан оператор перемещения по умолчанию? И класс ведь не то чтобы копируется, а перемещается (что-то вроде похожего)?
Итак, нужно ли мне это сделать, чтобы предотвратить создание и назначение перемещения по умолчанию:
MyClass(MyClass&&) = удалить; МойКласс& оператор=(МойКласс&&) = удалить; ... ?
До C++11 я мог использовать это, чтобы сделать класс некопируемым:
частный: МойКласс(константный МойКласс&); MyClass& оператор=(const MyClass&); В C++11 я могу сделать это следующим образом:
MyClass(const MyClass&) = delete; MyClass& оператор=(const MyClass&) = удалить; При использовании класса с удаленной копией и присвоением существует ли вероятность того, что будет создан оператор перемещения по умолчанию? И класс ведь не то чтобы копируется, а перемещается (что-то вроде похожего)?
Итак, нужно ли мне это сделать, чтобы предотвратить создание и назначение перемещения по умолчанию:
MyClass(MyClass&&) = удалить; МойКласс& оператор=(МойКласс&&) = удалить; ... ?
Мобильная версия