0

我有一个模板sparse_vector<T>类,我也在使用 Boost UBLAS。我将如何提供和之间的隐式转换?sparse_vector<double>boost::numeric::ublas::compressed_vector<double>

我还想在std::vector<double>和之间提供类似的转换boost::numeric::ublas::vector<double>

(我使用启用了 C++0x 的 gcc 4.4。)

4

1 回答 1

1

我假设这些类型有一个迭代器构造函数。如果这个假设是准确的,那么它就像写这样的东西一样简单:


template < typename OutputVector, typename InputVector >
OutputVector vector_cast(InputVector const& input)
{
  return OutputVector(input.begin(), input.end());
}

像这样使用:compressed_vector<double> vect = vector_cast<compressed_vector<double> >(my_sparse_vector);

于 2010-06-07T20:51:54.510 回答