我已经在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;
}