Wie kann ein Vektor aus einem Array initialisiert werden, ohne dass mehr Speicherplatz zugewiesen wird?

Der direkte Weg, einen Vektor aus einem Array zu initialisieren, scheint zu sein:

int sizeArr; int * array = getArray(sizeArr);
std::vector<int> vec(array, array+sizeArr);

Hier bekomme ich das Array von einer Funktion, die den Speicherplatz im Speicher zuweist und @ setsizeArr als Referenz. {start edit} Leider ist die Funktion nicht von mir geschrieben und ich muss mich mit dem Array im C-Stil auseinandersetzen und es dann irgendwie in einen Vektor konvertieren. (Wenn möglich effizient). {end edit}

Wenn ich @ initialisievec, offensichtlich reserviere ich dafür extra Platz. Wenn ich nicht beabsichtige, die Daten mit @ zu verwendarray Kann man die Daten, auf die @ zeigt, irgendwie "verschieben"array zum Vektorvec und keinen Platz dafür separat zuweisen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage