colorname
@colorname

Для чего в C++ добавлена конструкция constructor() = default;?

Подскажите для чего конкретно добавлена эта конструкция и в чем отличие от обычного конструктора по умолчанию без параметров?
В чем разница между:
My_class() = default;
My_class() {}


class My_class
{
public:
  My_class() = default;
  // My_class() {}
  My_class(int val) : value(val) {}
private:
  int value = 0;
};
  • Вопрос задан
  • 962 просмотра
Пригласить эксперта
Ответы на вопрос 1
@dima20155
you don't choose c++. It chooses you
Если вы определяете любой конструктор (копирования, перемещения, с параметрами) в своем классе, то компилятор не будет генерировать конструктор по умолчанию. Если вы хотите, чтобы компилятор это сделал - используете данную конструкцию.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы