Sdílet prostřednictvím


2.7.2.2 firstprivate

Firstprivate klauzule poskytuje větší funkce poskytované soukromé klauzule.Syntaxe firstprivate klauzule je takto:

firstprivate(variable-list)

Zadané v proměnné seznamu proměnné jste soukromé klauzule sémantika popsaná v části 2.7.2.1 na stránce 25.Inicializace nebo stavby se stane, pokud byly na podproces před spuštění podprocesu konstruktu v jednou.Pro firstprivate klauzule na paralelní konstrukce počáteční hodnotu nového soukromého objektu je hodnota původní objekt, který existuje bezprostředně před na paralelní konstrukce podprocesu, který jej nalezne.Pro firstprivate klauzule na konstrukci sdílení práce počáteční hodnotu nového soukromého objektu pro každý podproces, který vykonává konstrukce sdílení práce je hodnota původní objekt, který existuje k místu v čase, že narazí na stejném podprocesu konstrukce sdílení práce.Kromě toho objektů C++ nový soukromý objekt pro každý podproces je kopie, které jsou vyrobeny z původního objektu.

Omezení týkající firstprivate klauzule jsou následující:

  • Proměnné uvedené v firstprivate klauzule nesmí mít neúplný typ nebo odkaz.

  • Proměnná s typ třídy, která je určena jako firstprivate musí mít konstruktor kopie přístupné, jednoznačné.

  • Proměnné, které jsou v rámci regionu paralelní soukromé nebo které se zobrazí snížení klauzule paralelní směrnice nemůže být specifikován v firstprivate klauzule na směrnice sdílení práce, spojující paralelní konstrukce.