Konvertieren zwischen C ++ std :: vector und C array ohne zu kopieren
Ich möchte in der Lage sein, zwischen std :: vector und seinem zugrunde liegenden C-Array int * zu konvertieren, ohne die Daten explizit zu kopieren.
Bietet std :: vector Zugriff auf das zugrunde liegende C-Array? Ich suche so etwas
vector<int> v (4,100)
int* pv = v.c_array();
BEARBEITEN:
Ist es auch möglich, das Gegenteil zu tun, d. H. Wie würde ich eine initialisieren?std::vector
von einem C-Array ohne zu kopieren?
int pv[4] = { 4, 4, 4, 4};
vector<int> v (pv);