Alguna vez discutimos esto por aquí. Yo uso (o usaba) la tercera opción desde que la vi mencionada -no recuerdo si por Marco Cantú o por Peter Below. Me parece la más limpia y simétrica. La versión anidada es horrible ya que habría que agregar una anidación por cada objeto.
No obstante, hay quienes objetan la tercera opción (me acuerdo de Al González) ya que el destructor de A2 podría causar una excepción y dejar A1 sin liberar. Pero, como decía el mismo Cantú o Below, un destructor no debe nunca, pero NUNCA, causar una excepción. Y si la causa significa un mal diseño que hay que corregir antes que preocuparse por A1.
LinneComment Saludos
|