std::vectordouble array[]
に変換するにはどうしたらいいですか?
これを実現するには、かなり簡単なトリックがあります。というのも、現在の仕様では guaranteed ベクトルはその要素を連続して保存するからです。
std::vector<double> v;
double* a = &v[0];
vector<double> thevector;
//...
double *thearray = &thevector[0];
これは標準で動作することが保証されていますが、いくつかの注意点があります。特に、thevector
がスコープ内にあるときのみthearray
を使用するように注意してください。