Поделиться через


2.7.2.5 default

значение по умолчанию предложение позволяет пользователю влияния данные-совместно с помощью атрибутов переменных. Синтаксис значение по умолчанию предложение следующим образом:

default(shared | none)

Определение (коллективная) значение по умолчанию эквивалентны явно перечислять все в данный момент видимую переменную в выражении shared предложение, если оно не будет threadprivate OR cont- qualified. В случае отсутствия явного значение по умолчанию предложения по умолчанию такое же, если расширения функциональности (коллективная) значение по умолчанию определен.

Определение значение по умолчанию (нет) требует по крайней мере одно из следующих действий должен иметь значение true для каждой ссылки на переменную в лексической области памяти параллельной конструкции:

  • Переменная явно указана в предложении данные-совместно использование атрибута конструктора, которая содержит ссылку.

  • Переменная объявлена в параллельной конструкции.

  • Переменная threadprivate.

  • Переменная имеет a Const- тип квалифицированного.

  • Переменная переменная элемента управления циклом a для отсекает цикла, непосредственно за a для OR параллель для директива и ссылка на переменную отображаются внутри цикла.

Определение переменной на a firstprivate" lastprivateили сокращение заключенный правила приводит к тому, что предложение неявную ссылку на переменную во включающем контексте. Такие неявные ссылки зависит от того, требования, перечисленные выше.

Только одного значение по умолчанию предложение может быть указано на a Параллельно директива.

Атрибут переменной по умолчанию данные-совместно с помощью может быть переопределен с помощью private" firstprivate" lastprivate" сокращениеи shared предложения, как показано в следующем примере:

#pragma  omp  parallel  for  default(shared)  firstprivate(i)\
   private(x)  private(r)  lastprivate(i)