C ++: ¿push_back (new Object ()) es una pérdida de memoria?

¿Es el siguiente código C ++ una pérdida de memoria?

list.push_back(new String("hi"));

Según tengo entendido, push_back de cualquier colección / contenedor estándar siempre hace una copia. Entonces, si la nueva cadena se copia, nada puede eliminar la nueva cadena ¿verdad? ya que no hay referencia a esto después de push_back ...

¿Estoy correcto o equivocado aquí?

Gracias.

Jbu

editar: creo que estoy equivocado, ya que new devolverá un puntero ... siempre tendremos el puntero para poder eliminar la nueva cadena

Respuestas a la pregunta(7)

Su respuesta a la pregunta