Задать вопрос
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;
};
  • Вопрос задан
  • 1411 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Академия Codeby
    Курс «Анализ защищенности инфраструктуры на основе технологий Active Directory»
    4 месяца
    Далее
  • Академия Codeby
    Курс «Цифровая криминалистика и реагирование на инциденты ОС Linux (DFIR)»
    14 недель
    Далее
Пригласить эксперта
Ответы на вопрос 1
@dima20155
you don't choose c++. It chooses you
Если вы определяете любой конструктор (копирования, перемещения, с параметрами) в своем классе, то компилятор не будет генерировать конструктор по умолчанию. Если вы хотите, чтобы компилятор это сделал - используете данную конструкцию.
Ответ написан
Ваш ответ на вопрос

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

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