Студопедия — Checked и unchecked.
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Checked и unchecked.






Состояние определенного присваивания переменной v в ветви потока управления, ведущей к первому оператору в списке операторов блока (либо к конечной точке блока, если список операторов пуст) соответствует состоянию определенного присваивания переменной v перед блоком, оператором checked или unchecked.

5.3.3.3 Операторы-выражения;

Для оператора выражения stmt, состоящего из выражений expr:

· переменная v имеет такое же состояние определенного присваивания к началу выражения expr, как и к началу оператора stmt;

· Если переменная v является определенно присвоенной к концу выражения expr, она считается определенно присвоенной в конечной точке оператора stmt; в обратном случае она не является определенно присвоенной в конечной точке оператора stmt.

5.3.3.4 Операторы объявления;

· Если оператор stmt является оператором объявления без инициализаторов, переменная v имеет такое же состояние определенного присваивания в конце оператора stmt, как и в начале этого оператора.

· Если оператор stmt является оператором объявления с инициализаторами, состояние определенного присваивания для переменной v определяется как для списка операторов с отдельным оператором присваивания для каждого объявления с инициализатором (в порядке объявления).

If

Для оператора if в форме:

if (выражение) then-stmt else else-stmt

· переменная v имеет такое же состояние определенного присваивания на начало выражения expr, как и на начало оператора stmt;

· если переменная v является определенно присвоенной на конец выполнения выражения expr, она является определенно присвоенной в ветви потока управления до операции then-stmt, а также или в else-stmt, или в конечной точке операции stmt, если условие else отсутствует;

· если переменная v имеет состояние «определенно присвоенное в результате выполнения выражения с итогом true» в конце выражения expr, она считается определенно присвоенной в ветви потока управления до операции then-stmt и не является определенно присвоенной в ветви потока управления или в else-stmt, или в конечной точке операции stmt, если условие else отсутствует;

· если переменная v имеет состояние «определенно присвоенная после выполнения выражения с результатом false» в конце выражения expr, она является определенно присвоенной в ветви else-stmt и не является определенно присвоенной в ветви then-stmt. Эта переменная считается определенно присвоенной в конечной точке ветви stmt только в том случае, если она является определенно присвоенной в конечной точке then-stmt;

· в обратном случае переменная v не считается определенно присвоенной в ветви потока управления до операции then-stmt или else-stmt либо до конечной точки ветви stmt, если условие else отсутствует.

Switch

В операторе switch для операции stmt с управляющим выражением expr:

· состояние определенного присваивания переменной v в начале выражения expr соответствует состоянию переменной v в начале операции stmt;

· состояние определенного присваивания переменной v в ветви потока управления до списка достижимых операторов блока switch соответствует состоянию определенного присваивания переменной v в конце выражения expr.

While

Для оператора switch для операции stmt в форме:

while (выражение) тело_while

· переменная v имеет такое же состояние определенного присваивания на начало выражения expr, как и на начало оператора stmt;

· если переменная v является определенно присвоенной в конце выражения expr, она является определенно присвоенной в ветви потока управления до операции while-body и до конечной точки операции stmt;

· если переменная v имеет состояние «определенно присвоенное в результате выполнения выражения с итогом true» в конце выражения expr, она является определенно присвоенной в ветви потока управления до операции while-body, однако не является определенно присвоенной в конечной точке операции stmt;

· если переменная v имеет состояние «определенно присвоенная в результате выполнения выражения с итогом false» в конце выражения expr, она является определенно присвоенной в ветви потока управления до конечной точки операции stmt, однако не является определенно присвоенной в ветви потока управления до операции while-body.

Do

Для оператора do для операции stmt в форме:

do тело_do while (выражение);

· переменная v имеет такое же состояние определенного присваивания в ветви потока управления с начала операции stmt до операции do-body, как и в начале операции stmt.

· переменная v имеет такое же состояние определенного присваивания в начале выражения expr, как и в конечной точке операции do-body.

· если переменная v является определенно присвоенной в конечной точке expr, она является определенно присвоенной в ветви потока управления до конечной точки операции stmt.

· если переменная v имеет состояние «определенно присвоенная в результате выполнения выражения с итогом false» в конце выражения expr, она является определенно присвоенной в ветви потока управления до конечной точки stmt.

For

Проверка определенного присваивания для оператора for в форме

for (инициализатор_for;; условие_for; итератор_for;) внедренный_оператор

выполняется для следующей формы оператора:

{
инициализатор_for;;
while (условие_for) {
внедренный_оператор;
итератор_for;;
}
}

Если условие_for в операторе for опущено, оценка определенного присваивания выполняется таким образом, словно условие_for в приведенной выше развернутой записи оператора было заменено значением true.

Break, continue и goto

Состояние определенного присваивания переменной v в ветви потока управления, вызванной операторами break, continue или goto, соответствует состоянию определенного присваивания переменной v в начале оператора.

Throw

Для оператора stmt в форме

throw выражение;

состояние определенного присваивания переменной v в начале выражения expr соответствует состоянию определенного присваивания переменной v в начале операции stmt.

Return

Для оператора stmt в форме

return выражение;

· Состояние определенного присваивания переменной 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 catch(...) блок_catch_1
...
catch(...) блок_catch_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 finally блок_finally

· Состояние определенного присваивания переменной v в начале блок_try соответствует состоянию определенного присваивания переменной v в начале операции stmt.

· Состояние определенного присваивания переменной v в начале блок_finally соответствует состоянию определенного присваивания переменной v в начале операции stmt.

· Переменная v в конечной точке операции stmt считается определенно присвоенной только при соблюдении по меньшей мере одного из следующих условий:

o переменная v является определенно присвоенной в конечной точке блок_try

o переменная v является определенно присвоенной в конечной точке блок_finally

При переключении потока управления (например, в операторе goto), которое начинается в блок_try и завершается вне его, переменная v также считается определенно присвоенной в такой ветви потока управления, если переменная v является определенно присвоенной в конечной точке блок_finally. (Это не единственная возможность — если переменная v является определенно присвоенной по другой причине при таком переключении потока управления, она все еще считается определенно присвоенной.)







Дата добавления: 2015-09-07; просмотров: 466. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Понятие массовых мероприятий, их виды Под массовыми мероприятиями следует понимать совокупность действий или явлений социальной жизни с участием большого количества граждан...

Тактика действий нарядов полиции по предупреждению и пресечению правонарушений при проведении массовых мероприятий К особенностям проведения массовых мероприятий и факторам, влияющим на охрану общественного порядка и обеспечение общественной безопасности, можно отнести значительное количество субъектов, принимающих участие в их подготовке и проведении...

Тактические действия нарядов полиции по предупреждению и пресечению групповых нарушений общественного порядка и массовых беспорядков В целях предупреждения разрастания групповых нарушений общественного порядка (далееГНОП) в массовые беспорядки подразделения (наряды) полиции осуществляют следующие мероприятия...

Педагогическая структура процесса социализации Характеризуя социализацию как педагогический процессе, следует рассмотреть ее основные компоненты: цель, содержание, средства, функции субъекта и объекта...

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия