2012-08-13 66 views
0

我想创建一个对象矩阵,我也想用“矩阵(i,j)”方式访问它的元素。我首先想到了Boost,但据我了解,Boost矩阵由基本数据类型组成,如int或double,而不是其他更复杂的对象。矩阵的对象?

我也想过使用STL;我记得曾经使用过两次向量看过二维矩阵的STL定义。

干杯, 何塞

回答

0

我敢肯定,你还可以使用升压矩阵类任意类型;只是一堆数字算法需要矩阵中的元素具有类似数字的语义。

http://www.boost.org/doc/libs/1_50_0/libs/numeric/ublas/doc/types_overview.htmhttp://www.boost.org/doc/libs/1_50_0/libs/numeric/ublas/doc/matrix.htm

下面是一个例子:

#include <boost/numeric/ublas/matrix.hpp> 
#include <string> 
int main (int argc, const char * argv []) { 
    boost::numeric::ublas::matrix <std::string> strMatrix (5, 4); 
    strMatrix (3, 4) = std::string ("Hello!"); 
    return 0 ; 
} 
+0

非常感谢你马歇尔,它的确是一个语义problerm。我要用Boost来解决我的问题! – 2012-08-14 08:48:35