2.7.2.5 default
預設子句可讓使用者會影響資料共用屬性的變數。 語法預設子句是,如下所示:
default(shared | none)
指定 default(shared) 相當明確列出每一個目前可見的變數,在共用子句,除非它是 threadprivate 或缺點t-限定。 沒有明確使用預設 子句中,預設行為是相同 if default(shared) 所指定。
指定 default(none) 需要至少一個下列必須為每一個參考給平行建構的語彙範圍中的變數,則為 true:
變數會明確地列出資料共用屬性的子句中包含參考的建構。
平行建構中宣告的變數。
變數是 threadprivate。
變數擁有 const-限定型別。
變數是迴圈控制變數的的 即為緊隨的迴圈 的 或 平行的指示詞,以及變數的參考會出現在這個迴圈。
指定變數在 firstprivate, lastprivate,或 降低在封入的內容中被封入的指示詞的子句會使的隱喻參照給變數。 這類隱含參考也會隨著上面所列的需求。
只會有一個預設 子句指定 平行指示詞。
變數的預設資料共享的屬性可以藉由覆寫私用, firstprivate, lastprivate, 降低,以及 共用子句,如下列範例所示範:
#pragma omp parallel for default(shared) firstprivate(i)\
private(x) private(r) lastprivate(i)