0

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

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

干杯,何塞

4

1 回答 1

0

我很确定您可以将 boost 矩阵类用于任意类型;只是一堆数值算法需要矩阵中的元素具有类似数值的语义。

请参阅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 ;
}
于 2012-08-13T18:20:55.960 回答