Mi piacerebbe essere in grado di convertire tra std :: vector e il suo array C sottostante int * senza copiare esplicitamente i dati.Conversione tra C++ std :: vector e array C senza copiare
std :: vector fornisce l'accesso all'array C sottostante? Sto cercando qualcosa di simile
vector<int> v (4,100)
int* pv = v.c_array();
EDIT:
Inoltre, è possibile fare il contrario, vale a dire come faccio a inizializzare un std::vector
da una matrice C senza copiare?
int pv[4] = { 4, 4, 4, 4};
vector<int> v (pv);
C'è un 'problema' con questo: int pv [4] = {4, 4, 4, 4}; vettore v (pv); copia effettivamente il contenuto di pv in v ... devi solo essere a conoscenza di quello –
fho