gpt4 book ai didi

c++ - 为什么人们在 openmp 循环之前声明迭代值?

转载 作者:搜寻专家 更新时间:2023-10-31 00:14:32 27 4
gpt4 key购买 nike

因此据我了解,这些中的任何一个在所有版本的 openmp 中都是正确的:

//int i declared in loop, explicitly private
#pragma omp parallel for
for (int i = 0; i < NUMEL; i++)
{
foo(i);
}
//int i declared outsize loop, but is the iterated value, implicitly private
int i;
#pragma omp parallel for
for (i = 0; i < NUMEL; i++)
{
foo(i);
}

但是,与第一个相比,我更常看到第二个。这是为什么?

最佳答案

因为不是每个人都用 C++ 编写或以符合 C99 的 C 编译器为目标。有些人更愿意坚持旧的 C 要求,即在 block 的开头声明变量,以便代码与旧的(C99 之前的)C 编译器更兼容。

关于c++ - 为什么人们在 openmp 循环之前声明迭代值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22790175/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com