当前位置:  开发笔记 > 编程语言 > 正文

使用通用算法在C++中使用Dot产品

如何解决《使用通用算法在C++中使用Dot产品》经验,为你挑选了1个好方法。

我确定有一个聪明的单行使用C++ stl通用算法来实现任何有序容器中元素的点积,例如向量或列表.我好像不记得了!

花哨的实施将是:

template 
typename containerT::value_type dot_product (const containerT& left, const containerT& right)
{
   assert(left.size()==right.size());
   containerT::value_type result = 0;
   for (containerT::const_iterator l_it = left.begin(), r_it = right.begin();
        l_it != left.end(); ++r_it,++l_it)
   {
      result += (*l_it) * (*r_it);
   }
   return result; 
}

我认为我正在重新发明轮子,并且有更聪明的方法来做到这一点.



1> strager..:

std::inner_product.

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有