我想创建一个对象矩阵,我也希望以“矩阵(i,j)”的方式访问它的元素。我首先想到了Boost,但据我所知,Boost矩阵由基本数据类型组成,如int或double,而不是其他更复杂的对象。
我也考虑过使用STL;我记得曾经两次使用矢量看过一个二维矩阵的STL定义。
干杯, 何
答案 0 :(得分:0)
我非常确定你可以将boost矩阵类用于任意类型;它只是一堆数值算法需要矩阵中的元素具有类似数字的语义。
请参阅http://www.boost.org/doc/libs/1_50_0/libs/numeric/ublas/doc/types_overview.htm和http://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 ;
}