Was passiert unter der Haube von vector::push_back Speicher her?

Meine Frage ist in Bezug auf die Wirkung von vector::push_back, ich weiß, es fügt ein element am Ende des Vektors, aber was passiert unter der Haube?

IIRC Speicher-Objekte erfolgt in einer sequentiellen Weise, so meine Frage ist, ob vector::push_back einfach mehr Speicher reserviert unmittelbar nach dem Vektor, und wenn ja, was passiert, wenn es ist nicht genügend freier Speicher in die Lage? Oder vielleicht einen Hinweis Hinzugefügt, das "Ende" zu verursachen, die vector zu "hüpfen", um den Ort geht es weiter? Oder ist es einfach nur umgeschichtet und durch kopieren an einen anderen Ort, der genug Platz hat und die alte Version wird verworfen? Oder vielleicht etwas anderes?

InformationsquelleAutor dtech | 2011-10-26
Schreibe einen Kommentar