基于范围的循环或具有执行策略的for_each更好?

时间:2018-10-28 18:28:36

标签: c++ for-loop c++17 executionpolicy for-range

我已经在cppreference.com上了解了C ++ 17中的那些新执行策略:https://en.cppreference.com/w/cpp/algorithm/execution_policy_tag_t

我想知道,如果我们想让编译器尽其所能进行优化,我们是否应该优先使用基于范围的循环?我正在使用尚不实现它们的gcc,因此无法对其进行测试,但将来我应该选择以下方式:

int a[] = {1,2};
std::for_each(std::execution::par_unseq, std::begin(a), std::end(a), [](int& p) {
  ++p;
});

或者这个:

for(auto& p : a) {
  ++p;
}

0 个答案:

没有答案