A.24 Примеры предложения private
private предложение (Раздел 2.7.2.1 на странице 25) области используются только в параллельных лексической области памяти области, а не для динамической экстенты области. Таким образом, в примере, любом использует переменной a в рамках for цикл в процедуре f относится к закрытой копии aв процедуре, пока потребление И относится к глобальному a.
int a;
void f(int n)
{
a = 0;
#pragma omp parallel for private(a)
for (int i=1; i<n; i++)
{
a = i;
g(i, n);
d(a); // Private copy of "a"
...
}
...
void g(int k, int n)
{
h(k,a); // The global "a", not the private "a" in f
}