¿Cómo convierto un std::vector<double>en un
array[]` de dobles?
vector<double> thevector;
//...
double *thearray = &thevector[0];
Esto está garantizado por el estándar, sin embargo, hay algunas advertencias: en particular, tenga cuidado de utilizar sólo thearray
mientras thevector
está en el ámbito.
Los vectores son, efectivamente, matrices bajo la piel. Si tienes una función
void f( double a[]);
puedes llamarla así:
vector <double> v;
v.push_back( 1.23 )
f( &v[0] );
Nunca debería ser necesario convertir un vector en una instancia de matriz real.