2.7.2 Cláusulas de atributo compartilhamento de dados
Várias diretivas aceitam cláusulas que permitem que um usuário controlar os atributos de compartilhamento de variáveis para a duração da região.Cláusulas de atributo de compartilhamento aplicam-se somente a variáveis na extensão da diretiva na qual a cláusula aparece lexical.Nem todas as cláusulas seguintes são permitidas em todas as diretivas.A lista das cláusulas são válidos em uma diretiva específica são descritos com a diretiva.
Se uma variável é visível quando um paralelo ou construção de compartilhamento de trabalho é encontrada e a variável não for especificada em uma cláusula de atributo de compartilhamento ou threadprivate diretiva, em seguida, a variável for compartilhada.Variáveis estáticas declaradas dentro a extensão dinâmica de uma região paralela são compartilhadas.Heap de memória alocada (por exemplo, usando em c ou C++ ou o nova o operador em C++) é compartilhado.(O ponteiro para essa memória, no entanto, pode ser particulares ou compartilhados.) As variáveis com duração de armazenamento automático declarada dentro a extensão dinâmica de uma região paralela são privadas.
A maioria das cláusulas de aceita um variável-list argumento, que é uma lista separada por vírgulas de variáveis que são visíveis.Se uma variável é referenciada em uma cláusula de compartilhamento de dados de atributo tem um tipo derivado de um modelo e não há nenhuma outra referência para essa variável no programa, o comportamento é indefinido.
Todas as variáveis que aparecem na diretriz cláusulas devem estar visíveis.Cláusulas podem ser repetidas conforme necessário, mas nenhuma variável pode ser especificado na cláusula de mais de um, exceto pelo fato de uma variável pode ser especificada em ambos um firstprivate e um lastprivate cláusula.
As seções a seguir descrevem as cláusulas de compartilhamento de dados de atributo:
Private, seção 2.7.2.1 na página 25.
firstprivate, seção 2.7.2.2 na página 26.
lastprivate, seção 2.7.2.3 na página 27.
compartilhado, seção 2.7.2.4 na página 27.
padrão, seção 2.7.2.5 na página 28.
redução de, seção 2.7.2.6 na página 28.
copyin, seção 2.7.2.7 a página 31.
copyprivate, seção 2.7.2.8 na página 32.