2.7.2.5 domyślne
Domyślną klauzula umożliwia użytkownikowi wpływają na udostępnianie danych atrybutów zmiennych.Składnia domyślną klauzuli jest w następujący sposób:
default(shared | none)
Określanie default(shared) jest odpowiednikiem jawnie aukcji każdej zmiennej aktualnie widoczne w udostępnionego klauzuli, chyba że jest to threadprivate lub wadt-kwalifikowaną.W przypadku braku jawnej domyślną klauzuli, zachowanie domyślne jest taka sama, jak if default(shared) zostały określone.
Określanie default(none) wymaga się, że co najmniej jeden z następujących muszą być prawdziwe dla każdego odwołania do zmiennej w zakresie leksykalne równoległych konstrukcji:
Zmienna jest wyraźnie wymienionych w klauzuli atrybut udostępnianie danych, konstrukcji, która zawiera odwołanie.
Zmienna zadeklarowana w obrębie konstrukcji równolegle.
Zmienna jest threadprivate.
Zmienna ma const-kwalifikacje typu.
Zmienna jest zmienna sterująca pętli dla dla pętli, który następuje bezpośrednio dla lub równoległych do dyrektywy i odwołania do zmiennej pojawia się wewnątrz pętli.
Określenie zmiennej na firstprivate, lastprivate, lub redukcji klauzuli zamkniętych dyrektywy powoduje niejawne odwołanie do zmiennej w kontekście okalającego.Takie informacje niejawne podlegają również wymagania wymienione powyżej.
Tylko jeden domyślną klauzula może być podany w równolegle dyrektywy.
Domyślne zmiennej może zostać zastąpiona atrybut udostępnianie danych przy użyciu prywatnego, firstprivate, lastprivate, redukcji, i udostępnionego klauzule, jak pokazano w poniższym przykładzie:
#pragma omp parallel for default(shared) firstprivate(i)\
private(x) private(r) lastprivate(i)