[英]Boost vectors versus STL vectors
boost::numeric::ublas::vector
和std::vector
在運行時效率方面如何比較?
假設我可以通過編寫以下內容將整個程序從使用std::vector
轉換為使用boost::numeric::ublas::vector
是否安全:
#include <boost/numeric/ublas/vector.hpp>
using namespace boost::numeric::ublas;
而不是#include<vector>
? 我可以在所有方面都像使用 STL 向量一樣使用提升向量嗎?
<algorithm>
中的函數是否適用於 boost 向量? 他們使用相同的迭代器嗎?
它們在 C++0x 中工作嗎? 它們適用於基於范圍的循環嗎?
這些是完全正交的數據類型:前者表示“向量”(一維矩陣)的代數定義,而后者表示“向量”(一維數組)的計算機科學定義。
他們不比較。
如果你想做線性代數運算,比如矩陣向量乘法等,你應該只使用 ublas::vector。它們不提供與 std::vector 相同的功能和接口。 就運行時效率而言,據我所知,沒有什么比 std::vector 更好的了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.