¿Los interceptores de los 3 vectores interferirían entre sí? (dado que los 3 están en la misma dirección de memoria)
El estándar C++ no permite su programa, por lo que (al menos) la implementación define lo que sucede.
Si, por ejemplo, su implementación invoca las tres construcciones predeterminadas, y todas aquéllas ubicadas, y almacena el puntero al espacio recientemente asignado, tiene una pérdida de memoria (las primeras dos asignaciones son sobreescritas por la tercera).
Si todos los destructores son invocados y todos ellos liberan "su" memoria, usted estará haciendo una doble libre (triple, acually); Es probable que esto corrompa la estructura de datos de asignación, lo cual es una cosa mala. Sé feliz si bloqueas, porque es mucho más difícil de depurar si no lo haces.
Creo que estos problemas pueden ser por qué el estándar no permite esto.
(Una cosa más sensorial podría ser solo construir por defecto la primera clase, pero eso aún no es sensorial, solo menos loco ...)
Oh, entonces no es posible. Eso es lo que pensé y tiene perfecto sentido debido al problema que expliqué en la pregunta. Gracias. – GetFree