Зачем использовать метод инициализации вместо конструктора?

Я только что вошел в новую компанию, и большая часть кода использует методы инициализации вместо конструкторов.

struct MyFancyClass : theUberClass
{
    MyFancyClass();
    ~MyFancyClass();
    resultType initMyFancyClass(fancyArgument arg1, classyArgument arg2, 
                                redundantArgument arg3=TODO);
    // several fancy methods...
};

Они сказали мне, что это как-то связано со временем. Что-то должно быть сделанопосле конструкция, которая потерпит неудачу в конструкторе. Но большинство конструкторов пустые, и я не вижу никакой причины не использовать конструкторы.

Итак, я обращаюсь к вам, о волшебники C ++: зачем вам использовать метод init вместо конструктора?

Ответы на вопрос(10)

Ваш ответ на вопрос