the wikipedia article中,它提供了一些模板类。我想在实际代码中使用它。我怎样才能做到这一点?我发现几乎没有办法实例化Vec对象。

最佳答案

Wikibooks article on Expression Templates提供了更多的见解,尤其是最后一部分:


template< class A, class B >
DExpression<DBinaryExpression<DExpression<A>, DExpression<B>, Add> >
operator + (DExpression<A> a, DExpression<B> b)
{
  typedef DBinaryExpression <DExpression<A>, DExpression<B>, Add> ExprT;
  return DExpression<ExprT>(ExprT(a,b));
}


evaluate (a.begin(), a.end(), x + l + x);
/// It is (2*x + 50.00), which does look like a mathematical expression.

07-24 14:13