2.7.2 データ共有属性句
複数のディレクティブはユーザーが領域の期間の変数の共有の属性を制御できるようにする句を使用します。属性の句を共有する句が表示されるディレクティブの構文の範囲変数にのみ適用されます。すべてのディレクティブで次の句も使用できません。特定のディレクティブで有効な句の一覧はディレクティブで説明します。
並列化または構造体の作業と共有している変数が表示され変数が共有の属性の句または threadprivate のディレクティブを指定しない場合変数は共有されます。並列領域の動的スコープ内で宣言された静的変数は共有されます。割り当てられたメモリ (たとえば C または C++ の malloc () または C++ の 新規作成 の演算子を使用して) 共有されるヒープします。(ただしこのメモリへのポインターがプライベートでは共有)。並列領域の動的スコープ内で宣言されたローカルな寿命の期間の変数はプライベートです。
句のほとんどを表示する変数のリスト (コンマ区切り) の 変数リストの 引数を受け取ります。データの共有の属性の句で参照される変数にテンプレートから派生した型はプログラムに変数のアセンブリへの参照が見つからない場合の動作は未定義です。
ディレクティブの句内のすべての変数を参照できる必要があります。必要に応じて繰り返し変数は複数の句で指定された変数は firstprivate と lastprivate の句の両方で指定できます。
以降のセクションではデータの共有の属性の句を記述します :
プライベート ページの 25 セクション 2.7.2.1。
firstprivateページの 26 セクション 2.7.2.2。
lastprivateページの 27 セクション 2.7.2.3。
共有 ページの 27 セクション 2.7.2.4。
既定 ページの 28 セクション 2.7.2.5。
リダクション ページの 28 セクション 2.7.2.6。
copyinページの 31 セクション 2.7.2.7。
copyprivateページの 32 セクション 2.7.2.8。