CitarThis effectively increases the container size by one, which causes an automatic reallocation of the allocated storage space if -and only if- the new vector size surpasses the current vector capacity.Esto no te influye, el recolocamiento es completamente transparente.
El problema esque estás creando copiando los objetos cada vez que haces push_back, por eso al hacer esto:
Código (cpp) [Seleccionar]
delete c2;
delete c3;
No tiene ningún efecto, tienes que usar punteros para apuntar a estos objetos:
Código (cpp) [Seleccionar]
vector<Child*> children;