14

実行時の効率をどのようboost::numeric::ublas::vectorstd::vector比較しますか?

次のように書くだけで、プログラム全体std::vectorを使用から使用に変換できると想定しても安全ですか。boost::numeric::ublas::vector

#include <boost/numeric/ublas/vector.hpp>
using namespace boost::numeric::ublas;

#include<vector>?の代わりに すべての面でSTLベクトルであるかのようにブーストベクトルを使用できますか?

<algorithm>関数はブーストベクトルで機能しますか?彼らは同じイテレータを使用していますか?

それらはC++0xで動作しますか?それらは範囲ベースのループで機能しますか?

4

2 に答える 2

24

これらは完全に直交するデータタイプです。前者は「ベクトル」(1次元行列)の代数的定義を表し、後者は「ベクトル」(1次元配列)のコンピューターサイエンス定義を表します。

彼らは比較しません。

于 2011-06-09T15:06:30.593 に答える
10

ublas :: vectorは、行列ベクトルの乗算などの線形代数演算を実行する場合にのみ使用してください。これらは、std::vectorと同じ機能やインターフェイスを提供しません。実行時の効率に関しては、私が知っている限り、std::vectorに勝るものはありません。

于 2011-06-09T15:08:57.903 に答える