c ++中的执行策略

时间:2018-05-24 11:49:04

标签: c++ algorithm

我在cpprefrence中经历了copy_If定义,我看到有一些构造依赖于执行_policy。我搜索了它,但我没有得到任何好的解释。有人可以帮我理解这是什么以及它有用吗?

链接:http://en.cppreference.com/w/cpp/algorithm/copy

示例:

template< class ExecutionPolicy, class ForwardIt1, class ForwardIt2, class UnaryPredicate >
ForwardIt2 copy_if( ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last,
                  ForwardIt2 d_first,
                  UnaryPredicate pred )

1 个答案:

答案 0 :(得分:4)

简而言之,我们的想法是,不是让你当前的线程执行算法的普通版本(好吧,普通版本到编译器优化),你可以改用你的计算硬件,更快地完成“算法”。

通过执行政策可以使用哪种“更快”的示例:

  • 在CPU上的多个核心/套接字上使用多个线程
  • 使用系统上存在的协处理器,例如CPU或FPGA。

评论者@UnholySheep和@DanM给了我们link一些(更长更详细)的官方文档。