2.7.2.5 default

默认 子句允许用户影响变量数据共享属性。 默认 子句的语法如下所示:

default(shared | none)

,除非它是 threadprivatecons- 限定,的t指定 默认 (共享) 用方括号括在 共享 子句中的每个当前可见的变量是等效的。 在没有显式 默认 子句时,默认行为是相同的,就象 默认 (共享) 指定了。

指定 默认 (无) 需要至少一列绑定适用于每对并行构造的词法区域的变量:

  • 该变量位于包含引用结构化数据共享属性子句显式列表。

  • 变量在并行构造中声明。

  • 该变量是 threadprivate

  • 该变量具有 const- 限定类型。

  • 该变量是紧跟在 并行。 指令的 循环的循环控制变量,因此,该变量引用出现在循环内。

指定变量在 firstprivatelastprivate或一个包含指令的 减少 在子句中的上下文导致隐式对该变量。 此类隐式引用也受到列表的要求的限制上面。

唯一 默认 子句。 并行 指令可以指定。

使用 专用firstprivatelastprivate减少共享 子句,变量的默认数据共享可以重写属性,如演示的由以下示例:

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