Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Топ:
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Интересное:
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Дисциплины:
2017-10-16 | 250 |
5.00
из
|
Заказать работу |
|
|
Состояние определенного присваивания переменной v в ветви потока управления, вызванной оператором break, continue или goto, соответствует состоянию определенного присваивания переменной v в начале оператора.
Операторы throw
Для операции stmt оператора в форме
throw expr;
Состояние определенного присваивания переменной v в начале выражения expr соответствует состоянию определенного присваивания переменной v в начале оператора stmt.
Операторы return
Для операции stmt оператора в форме
return expr;
· Состояние определенного присваивания переменной v в начале выражения expr соответствует состоянию определенного присваивания переменной v в начале оператора stmt.
· Если переменная v является выходным параметром, она должна быть определенно присвоена в одном из следующих случаев:
o после выражения expr;
o либо в конце блока finally конструкции try-finally или try-catch-finally, содержащей оператор return.
Для stmt оператора в форме:
return;
· Если переменная v является выходным параметром, она должна быть определенно присвоена в одном из следующих случаев:
o перед оператором stmt;
o либо в конце блока finally конструкции try-finally или try-catch-finally, содержащей оператор return.
Операторы try-catch
Для stmt оператора в форме:
try try-block
catch(...) catch-block-1
...
catch(...) catch-block-n
· Состояние определенного присваивания переменной v в начале try-block соответствует состоянию определенного присваивания переменной v в начале операции stmt.
· Состояние определенного присваивания переменной v в начале catch-block-i (для любой переменной i) соответствует состоянию определенного присваивания переменной v в начале операции stmt.
· Переменная v в конечной точке операции stmt считается определенно присвоенной только в том случае, если переменная v определенно присвоена в конечной точке try-block и каждого catch-block-i (для каждой переменной i от 1 до n).
|
Операторы try-finally
Для операции stmt оператора try в форме:
try try-block finally finally-block
· Состояние определенного присваивания переменной v в начале try-block соответствует состоянию определенного присваивания переменной v в начале операции stmt.
· Состояние определенного присваивания переменной v в начале finally-block соответствует состоянию определенного присваивания переменной v в начале операции stmt.
· Переменная v в конечной точке операции stmt считается определенно присвоенной только при соблюдении по меньшей мере одного из следующих условий:
o переменная v является определенно присвоенной в конечной точке try-block;
o переменная v является определенно присвоенной в конечной точке finally-block.
При переключении потока управления (например, в операторе goto), которое начинается в try-block и завершается за пределами try-block, переменная v также считается определенно присвоенной в такой ветви потока управления, если переменная v является определенно присвоенной в конечной точке finally-block. (Это не единственная возможность — если переменная v является определенно присвоенной по другой причине при таком переключении потока управления, она все еще считается определенно присвоенной.)
Операторы try-catch-finally
Анализ определенного присвоения для оператора try-catch-finally в виде:
try try-block
catch(...) catch-block-1
...
catch(...) catch-block-n
finally finally-block
выполняется с допущением, что оператор try-finally содержит оператор try-catch:
try {
try try-block
catch(...) catch-block-1
...
catch(...) catch-block-n
}
finally finally-block
В следующем примере демонстрируется, как разные блоки оператора try (§8.10) влияют на определенное присваивание.
class A
{
static void F() {
int i, j;
try {
goto LABEL;
// neither i nor j definitely assigned
i = 1;
// i definitely assigned
}
catch {
// neither i nor j definitely assigned
i = 3;
// i definitely assigned
}
finally {
// neither i nor j definitely assigned
j = 5;
// j definitely assigned
}
// i and j definitely assigned
LABEL:;
// j definitely assigned
}
}
Операторы foreach
Для операции stmt оператора foreach в форме:
|
foreach (type identifier in expr) embedded-statement
· состояние определенного присваивания переменной v в начале выражения expr соответствует состоянию переменной v в начале операции stmt;
· состояние определенного присваивания переменной v при переключении потока управления на внедренный оператор или в конечную точку операции stmt соответствует состоянию переменной v в конце выражения expr.
Операторы using
Для операции stmt оператора using в форме:
using (resource-acquisition) embedded-statement
· состояние определенного присваивания переменной v в начале операции resource-acquisition соответствует состоянию переменной v в начале операции stmt.
· Состояние определенного присваивания переменной v при переключении потока управления на внедренный оператор соответствует состоянию переменной v в конце операции resource-acquisition.
Операторы lock
Для операции stmt оператора lock в форме:
lock (expr) embedded-statement
· состояние определенного присваивания переменной v в начале выражения expr соответствует состоянию переменной v в начале операции stmt;
· Состояние определенного присваивания переменной v при переключении потока управления на внедренный оператор соответствует состоянию переменной v в конце выражения expr.
Операторы yield
Для операции stmt оператора yield return в форме:
yield return expr;
· состояние определенного присваивания переменной v в начале выражения expr соответствует состоянию переменной v в начале операции stmt;
· состояние определенного присваивания переменной v в конце операции stmt соответствует состоянию переменной v в конце выражения expr.
Оператор yield break не влияет на состояние определенного присвоения.
|
|
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!