2.7.2.8 copyprivate
Copyprivate предложение обеспечивает механизм для использования закрытой переменной вещать значение из одного члена группы к другим участникам. Альтернативы использованию общей переменной для значения, когда защита ту общую переменную будет трудн (например, в рекурсии, требующих другой переменной на каждом уровне). copyprivate предложение может появляться только на Одинарный директива.
Синтаксис copyprivate предложение следующим образом:
copyprivate(variable-list)
Эффект copyprivate предложение переменных в его переменная-списке возникает после того, как выполнение блока, связанное с структурированного Одинарный конструкция и до потоков в рабочей группе будут иметь левый барьера в конце конструкции. Затем в других потоках в рабочей группе для каждой переменной список переменныхэта переменная будет указанной (если по назначению) со значением соответствующей переменной в потоке, который выполнялся блок разработки структурированный.
Ограничения copyprivate предложение следующим образом:
Переменная, определенная в copyprivate предложение не должен появляться в a private OR firstprivate для таких же предложение Одинарный директива.
Если набор узлов a Одинарный директива with a copyprivate предложение, обнаруженные в динамической экстенты параллельной области всех переменных, определенных в copyprivate предложение должно быть закрыто во включающем контексте.
Переменная, определенная в copyprivate предложение должно быть доступно только выраженный оператор присваивания копий.