vector<vector<double> >
型の変数を関数F(double ** mat, int m, int n)
に渡そうとしています。 F関数は別のlibから来ているので、私はそれを変更するオプションがありません。誰かが私にこれについていくつかのヒントを与えることができますか?ありがとう。C++ベクトル<vector <double>> double **
4
A
答えて
7
vector<vector<double> >
およびdouble**
は全く異なるタイプです。しかし、いくつかのダブルポインタを格納し、別のベクターの助けを借りて、この機能を供給することが可能である:
vector<vector<double> > thing = ...;
vector<double*> ptrs (thing.size());
for (unsigned i=0, e=ptrs.size(); i<e; ++i) {
ptrs[i] = &(thing[i][0]); // assuming !thing[i].empty()
}
your_function(&ptrs[0],...);
は、この作品の理由の一つは、すべての要素がメモリにconsecutivly格納されていることを理由のstd ::ベクトルの保証です。
1
私はそれを参照してください方法は、ネストされた配列の中にすべての値をコピーし、あなたのvector<vector<double> >
が正しいデータ型に変換する必要があるプロセスで
ベクトルは、アレイよりも完全に異なる方法で組織され、したがって、データ型を強制的に一致させることができたとしても、それはまだ機能しません。
残念ながら、私のC++の経験は数年前のことです。ここで具体的な例を挙げることはできません。
1
ベクトル<ベクトル< double >>は、mへのダブルポインタとほとんど同じではありません。見た目から、mは2次元配列であると仮定され、ベクトルはギザギザで格納され、メモリ内で必ずしも隣接しているとは限りません。それを渡す場合は、vector値をtemp 2dimのdouble配列にコピーして、代わりにその値を渡す必要があります。
関連する問題
- 1. C++ベクトル<vector <double>> typenameエイリアスを使用して
- 2. ベクトル<ベクトル<double>>
- 3. ベクトルのArgMin <double> C++?
- 4. std :: shared_ptr <std :: vector <double>>
- 5. int [] [] convert --to - > Vector <Vector <Double>>
- 6. C++ベクトルを変換する<pair <double、double >> to double *、double *?
- 7. 反復::ベクトル<std :: vector <char>>?
- 8. ロード画像 - ベクトル<vector<Mat>>
- 9. std :: shared_ptr << std :: vector <double>>を関数に渡す
- 10. Double.VectorとVectorの違い<double>
- 11. C++私はベクトルのような特定のキー、とペアを取得したいベクトル</p> <pre><code>map< int, vector<float> > hit = getAlignedHits(); </code></pre> <p>のマップ持っベクトル
- 12. ベクトル<vector<>>とセグメント化エラーを上書きする
- 13. C++ - std :: vectorの新しいコンストラクタを作成する<double>?
- 14. これらのC++ステートメントの意味typedef vector <double> :: size_type
- 15. <vector<char>>
- 16. 関数の引数:それは不可能です</p> <pre><code>void foo(vector<Clazz*>& v) { ... v[0]->method(); ... } void foo(vector<Clazz>& v) { ... v[0].method(); ... } </code></pre> <p>/:ベクトル<Clazz*>&ベクトル<Clazz>&
- 17. C++ベクトル<T>
- 18. ベクトルにSQLクエリを返す関数<double> C++
- 19. ベクトル<base_class*>とベクトル<sub_class*>
- 20. ベクトル<int> :: size_type in C++
- 21. はWFA:<vector>
- 22. Vector。<> vs array
- 23. std :: vector <int>からchar [] C++
- 24. std :: vectorのフォーマットされていないストリーム入力<double>
- 25. C++演算子のオーバーロード<double> - <Matrix>
- 26. ベクトル、行列、および配列データ型の違いは何ですか? <code>vector</code>、<code>matrix</code>と<code>array</code>:
- 27. 最高値<ベクトルは<Point3f>>
- 28. std :: vector <std :: pair <const K, V> *> to std :: vector <std :: pair <const K, V>>
- 29. 'std :: vector <std :: basic_string <char>> *'から 'const std :: vector <std :: basic_string <char>>&'
- 30. ベクトル<vector<int>を使用しようとしました
@Daniel:Corrected – Novelocrat