¿Qué sucede bajo el capó del vector :: push_back memory wise?

Mi pregunta es sobre el efecto devector::push_back, Sé que agrega un elemento al final del vector, pero ¿qué sucede debajo del capó?

os objetos de memoria @IIRC se asignan de manera secuencial, por lo que mi pregunta es sivector::push_back simplemente asigna más memoria inmediatamente después del vector, y si es así, ¿qué sucede si no hay suficiente memoria libre en esa ubicación? ¿O tal vez se agrega un puntero en el "final" para hacer que el vector "salte" a la ubicación donde continúa? ¿O simplemente se reasigna al copiarlo en otra ubicación que tenga suficiente espacio y la copia anterior se descarta? ¿O tal vez algo más?

Respuestas a la pregunta(7)

Su respuesta a la pregunta