Зачем использовать метод инициализации вместо конструктора?
Я только что вошел в новую компанию, и большая часть кода использует методы инициализации вместо конструкторов.
struct MyFancyClass : theUberClass
{
MyFancyClass();
~MyFancyClass();
resultType initMyFancyClass(fancyArgument arg1, classyArgument arg2,
redundantArgument arg3=TODO);
// several fancy methods...
};
Они сказали мне, что это как-то связано со временем. Что-то должно быть сделанопосле конструкция, которая потерпит неудачу в конструкторе. Но большинство конструкторов пустые, и я не вижу никакой причины не использовать конструкторы.
Итак, я обращаюсь к вам, о волшебники C ++: зачем вам использовать метод init вместо конструктора?