私はstd::vector
で表される "テーブル"を持っており、各エレメントはboost::fusion::vector
です。このテーブルの "列"の表現をstd::vector
として返す必要があります。値をコピーしないでください。これを行う最善の方法は何ですか?私はstd::vector
のnviewsを作成しようとしていますが、nは列番号ですが、動作していないようです。正しい軌道にいるのですか、これについて他の方法がありますか?複写せずに融合ベクターの標準ベクターからカラムを戻す
0
A
答えて
1
docs hereによれば、boost::fusion::vector
のat<N>(s)
メソッドは、含まれている要素への参照を返します。
また、ブーストライブラリバージョン1.48を使用している場合は、C++ 11の移動セマンティクスもサポートされています。これは、特定の列番号、たとえばi
のテーブルのサイズをループし、std::vector
という列ベクトルを設定する関数を持つことができるということです。この列ベクトルを返すだけで、呼び出し元の関数はmove
d std::vector
になります。いつでもコピーは作成されません。
move semantics hereについての詳細は、標準ページ自体をご覧ください。 Bjarne Stroustrup explaining it in brief hereの動画もご覧ください。分37にジャンプして分43まで見てください。
+0
非常に有用な答え、ありがとう! –
関連する問題
- 1. ベクター
- 2. cでのベクターの複製
- 3. ベクター<string>またはベクター<ベクター<char>>?
- 4. ライブラリをインポートせずにベクターを削除する方法
- 5. ベクター内のベクター(染色体を作成する)
- 6. JAVAME:ソートJavaベクター
- 7. RcppArmadilloベクターをRベクターとして返します
- 8. OpenMPの共有ベクター
- 9. Webサイトにベクター化されたグラフィックを描画するための標準はありますか?
- 10. ベクターに挿入する
- 11. XAMLベクターからIllustratorなどへ
- 12. ファンクション、ベクター、ループin R
- 13. boost :: tupleのベクターを検索
- 14. ベクターからすべてのNAを削除するには?
- 15. C++ベクター:インサートにセグメンテーション違反
- 16. 空のベクターは、鉱山の
- 17. STLベクターの隠れコピー?
- 18. ベクターGISデータの視線?
- 19. ベクターからchar *を取得するには<char>?
- 20. ベクター参照を別のものにコピー
- 21. カスタムクラス内にベクターを定義する
- 22. 生ベクターをRオブジェクトに変換する
- 23. forループのクラッシュでベクターから削除しますか?
- 24. Boost.MPI既存のベクターのスライスにrecv
- 25. クロージャーで重複するベクターを作成する
- 26. ベクターの内容を印刷できませんか?
- 27. ベクターにpush_back構造体を挿入
- 28. 計算STDを使用して、ベクターの一部の合計は::
- 29. R:ネストされたforループからベクターを作成する
- 30. ベクターとArrayListのどちらが良いですか?
C++ 11を使用できますか、C++ 03に限定されていますか? – ildjarn
私はいずれかで大丈夫だと思いますが、違いが何であるか知りたいと思います。 –