¿Por qué usar un método de inicialización en lugar de un constructor?
Acabo de ingresar a una nueva compañía y gran parte del código base utiliza métodos de inicialización en lugar de constructores.
struct MyFancyClass : theUberClass
{
MyFancyClass();
~MyFancyClass();
resultType initMyFancyClass(fancyArgument arg1, classyArgument arg2,
redundantArgument arg3=TODO);
// several fancy methods...
};
Me dijeron que esto tenía algo que ver con el tiempo. Que hay que hacer algunas cosasdespués construcción que fallaría en el constructor. Pero la mayoría de los constructores están vacíos y realmente no veo ninguna razón para no usar constructores.
Entonces me dirijo a ti, oh magos de C ++: ¿por qué usarías un método init en lugar de un constructor?