次の方法で共有


2.7.2.8 copyprivate

copyprivate の句によってチームのメンバーの 1 人から他のメンバーに値をブロードキャストにプライベート変数を使用するようにの機能を提供します。これは値に対して共有変数を使用するにはこのような共有変数を提供することが困難になる場合は代わりになります (たとえば各レベルで別の変数を必要とする再帰)。copyprivate の句は シングル のディレクティブでのみ使用できます。

copyprivate 句の構文は次のとおりです。:

copyprivate(variable-list)

可変リストの変数へ copyprivate 句の結果はチームのスレッドが構造体の最後にバリアを設定する前に シングル の構造に関連付けられた構造化ブロックの実行および発生しました。次に変数があると 変数リスト の各変数に対するチームの他のすべてのスレッドで構造の構造化ブロックを実行したスレッドの対応する変数の値 (ように) によって定義されます。

copyprivate の句に制限 : は次のとおりです。

  • copyprivate の句で指定された変数は シングル のディレクティブの プライベート または firstprivate の句に含める必要があります。

  • copyprivate の句で シングル のディレクティブが並列領域の動的範囲で発生した場合copyprivate の句で指定されたすべての変数を囲むコンテキストでプライベートである必要があります。

  • copyprivate の句で指定された変数にアクセスできるように明確なコピー代入演算子が必要です。