На основании документации здесь :
«Структурированный блок» - это отдельный оператор или составной оператор с одной записью вверху и одним выходом на bottom
Поиск определения составного оператора здесь :
Составной оператор или блок - это заключенная в скобки последовательность операторов и объявления.
Учитывая это определение, do_something1;
будет единственной частью структурированного блока, поскольку после этого начинается новый "одиночный" оператор. С другой стороны, если бы вы сделали
#pragma omp <directive>
{
do_something1;
do_something2;
}
, то в структурированном блоке он был бы как «составной» оператор.
Наконец, обратите внимание на определение, содержащее single entry at the top and a single exit at the bottom
. Это просто означает, что у нас не должно быть промежуточной точки прерывания выхода / потока управления, такой как оператор goto
, return
или throw error
между ними.