c ++和ublas:创建一个不同大小的c_vectors数组

时间:2011-09-19 20:11:29

标签: c++ arrays ublas

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

例如

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

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

1 个答案:

答案 0 :(得分: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。选择更适合您需要的东西。在做出决定之前阅读此内容: