Freigeben über


2.7.2.1 privat

Die private-Klausel deklariert die Variablen in der Liste Variablen zu jedem Thread in einem Team privat sein.Die Syntax der private-Klausel lautet wie folgt:

private(variable-list)

Das Verhalten einer Variablen, die in einer private-Klausel angegeben ist, lautet wie folgt.Ein neues Objekt mit automatischer Speicherung dauer wird für das Konstrukt zugeordnet.Die Größe und die Ausrichtung des neuen Objekts wird durch den Typ der Variablen bestimmt.Diese Zuordnung tritt einmal für jeden Thread im Team behoben, und ein Standardkonstruktor für ein Klassenobjekt bei Bedarf aufgerufen. andernfalls ist der Anfangswert unbestimmt.Das ursprüngliche Objekt, das durch die Variable verwiesen wird, können einen unbestimmten Wert nach Eintrag in das Konstrukt, Darf nicht innerhalb des Wertebereichs dynamischen Ändern des Konstrukts und weist einen unbestimmten Wert nach Beendigung des Konstrukts.

Im lexikalischen Wertebereich des Direktivenprozessors Konstrukts, wird die Variable mit dem neuen privaten Objekt, das von dem Thread zugeordnet ist.

Die Einschränkungen zur private-Klausel lauten wie folgt:

  • Eine Variable mit einem Klassentyp, der in einer private-Klausel angegeben wird, muss über einen zugreifbaren, eindeutigen Standardkonstruktor verfügen.

  • Eine Variable, die in einer private-Klausel angegeben ist, darf const- qualifizierten Typ nicht zulässig, es sei denn, sie einen Klassentyp mit einem mutable-Member.

  • Eine Variable, die in einer private-Klausel angegeben ist, darf einen unvollständigen Typ oder einen Verweistyp enthalten.

  • Variablen, die in der reduction-Klausel Ähnlichkeit-Direktive angezeigt werden, können nicht in einer private-Klausel auf Arbeitsteilungs direktiven angegeben werden, die zum parallelen Konstrukt bindet.