0

有没有办法创建一个不同大小的 ublas c_vectors 数组?

例如

array[0]将返回ublas::c_vector< double, 3 >(size=3) 并array[0](0)访问其第一个元素

array[1]将返回ublas::c_vector< double, 7 >(size=7) 并array[1](0)访问其第一个元素

ETC

4

1 回答 1

0

我认为您可以使用std::vector<boost::any>, 然后将ublas::c_vector不同大小的推入其中。

std::vector<boost::any> v;
v.push_back(ublas::c_vector<double,3>());
v.push_back(ublas::c_vector<double,7>());
v.push_back(ublas::c_vector<double,9>());
//etc

元素应该被转换回适当的类型,使用boost::any_cast自定义关键字转换从boost::any.

你也可以试试boost::variant。选择更适合您需要的任何东西。在做出决定之前阅读此内容:

于 2011-09-19T20:14:17.003 回答