@BMinhoj

При наличии каких членов класса move-конструктор не будет сгенерирован автоматически?

1) Пользовательский explicit конструктор
2) Пользовательский move конструктор
3) Пользовательский конструктор копирования
4) Пользовательский оператор присваивания
5) Пользовательский move-оператор присваивания
6) пользовательский деструктор
7) Приватное поле примитивного типа
  • Вопрос задан
  • 108 просмотров
Решения вопроса 1
@Mercury13
Программист на «си с крестами» и не только
Implicitly-declared move constructor

If no user-defined move constructors are provided for a class type (struct, class, or union), and all of the following is true:
  • there are no user-declared copy constructors;
  • there are no user-declared copy assignment operators;
  • there are no user-declared move assignment operators;
  • there is no user-declared destructor.

then the compiler will declare a move constructor as a non-explicit inline public member of its class with the signature T::T(T&&).

Ну и пользовательский move-конструктор исключает автоматический.
Так что 2, 3, 4, 5, 6.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
CTRL+ Москва
от 250 000 до 320 000 ₽
CTRL+ Москва
от 200 000 до 300 000 ₽
CTRL+ Белград
от 250 000 до 320 000 ₽
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час