Рассмотрим следующий код, в котором я пытаюсь ввести конструктор по умолчанию, а также параметризованный для class A
. Этот способ был введен в последние улучшения C++.создание объекта: параметр по умолчанию против делегирования
class A {
private:
unsigned int count;
public:
A(int new_c) : count(new_c) {}
A() : A(10) {}
};
vs старый способ установки параметра по умолчанию в параметризованный конструктор и полное игнорирование конструктора по умолчанию.
Есть ли какое-либо преимущество в использовании 1-го метода над вторым, кроме следующих современных конвенций?
Для удобства использования это упрощенное, нет никакой реальной разницы. –
Поскольку A() полностью не зависит от A (int), у него есть свое тело, где что-то конкретное может быть сделано после вызова A (int). –
@ T.C. вы можете привести некоторые другие сложные варианты использования, которые могут показать любое преимущество/разницу. –