Conversión entre C ++ std :: vector y C array sin copiar
Me gustaría poder convertir entre std :: vector y su matriz C subyacente int * sin copiar explícitamente los datos.
¿Std :: vector proporciona acceso a la matriz C subyacente? Estoy buscando algo como esto
vector<int> v (4,100)
int* pv = v.c_array();
EDITAR:
Además, ¿es posible hacer lo contrario, es decir, cómo inicializaría unstd::vector
de una matriz C sin copiar?
int pv[4] = { 4, 4, 4, 4};
vector<int> v (pv);