在我的代码中,我有很多私有变量,但只有少数共享变量。所以我必须逐个在private子句中编写所有私有变量。 default
无效,因为它只提供两种选择:none
和shared
。因此,有没有办法让私有默认?
答案 0 :(得分:2)
OpenMP没有为C ++提供default(private)
,原因很简单,C ++已经提供了一种机制来使这些变量变为私有 - 只需在内部范围中定义它们:
#pragma omp parallel
{
int this_one_is_private;
double this_on_is_private_too;
int and_this_one_too;
double more_privateness;
...
}
OpenMP确实有DEFAULT(PRIVATE)
用于Fortran,因为后者没有在内部范围内定义变量的机制。