Por que usar um método de inicialização em vez de um construtor?
Acabei de entrar em uma nova empresa e grande parte da base de código usa métodos de inicialização em vez de construtores.
struct MyFancyClass : theUberClass
{
MyFancyClass();
~MyFancyClass();
resultType initMyFancyClass(fancyArgument arg1, classyArgument arg2,
redundantArgument arg3=TODO);
// several fancy methods...
};
Eles me disseram que isso tinha algo a ver com o tempo. Que algumas coisas precisam ser feitasdepois de construção que falharia no construtor. Mas a maioria dos construtores está vazia e não vejo realmente nenhuma razão para não usar construtores.
Então, eu volto para você, oh assistentes do C ++: por que você usaria um método init em vez de um construtor?