Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Топ:
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Интересное:
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
· Переменная v не является определенно присвоенной в начале тела функции-члена.
· Переменная v является определенно присвоенной в начале каждой недостижимого оператора.
· Состояние определенного присваивания переменной v в начале каждого другого оператора определяется путем проверки состояния определенного присваивания переменной v во всех ветвлениях потоков управления, ведущих к началу этого оператора. Только в том случае, если переменная v является определенно присвоенной во всех таких ветвлениях потоков управления, переменная v считается определенно присвоенной в начале оператора. Набор возможных ветвлений потоков управления определяется точно так же, как и при проверке достижимости операторов (§8.1).
· Состояние определенного присвоения переменной v в конечной точке блока или оператора checked, unchecked, if, while, do, for, foreach, lock, using или switch определяется путем проверки состояния определенного присвоения переменной v во всех ветвях потоков управления, ведущих к конечной точке этого оператора. Если переменная v является определенно присвоенной во всех ветвях потоков управления, переменная v считается определенно присвоенной в конечной точке оператора. В противном случае переменная v не является определенно присвоенной в конечной точке оператора. Набор возможных ветвлений потоков управления определяется точно так же, как и при проверке достижимости операторов (§8.1).
Операторы блока, операторы checked и unchecked
Состояние определенного присваивания переменной v в ветви потока управления, ведущей к первому оператору в списке операторов блока (либо к конечной точке блока, если список операторов пуст) соответствует состоянию определенного присваивания переменной v перед блоком, оператором checked или unchecked.
Операторы-выражения
Для операции stmt, состоящего из выражений expr:
· переменная v имеет такое же состояние определенного присваивания к началу выражения expr, как и к началу оператора stmt;
· Если переменная v является определенно присвоенной к концу выражения expr, она считается определенно присвоенной в конечной точке оператора stmt; в противном случае она не является определенно присвоенной в конечной точке оператора stmt.
Операторы объявления
· Если оператор stmt является оператором объявления без инициализаторов, переменная v имеет такое же состояние определенного присваивания в конце оператора stmt, как и в начале оператора stmt.
· Если оператор stmt является оператором объявления с инициализаторами, состояние определенного присваивания для переменной v определяется таким образом, словно оператор stmt является списком операторов с отдельным оператором присваивания для каждого объявления с инициализатором (в порядке объявления).
Операторы If
Для операции stmt оператора if в форме:
if (expr) 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
В операторе выражения stmt оператора switch с управляющим выражением expr:
· состояние определенного присваивания переменной v в начале выражения expr соответствует состоянию переменной v в начале операции stmt;
· состояние определенного присваивания переменной v в ветви потока управления до списка достижимых операторов блока switch соответствует состоянию определенного присваивания переменной v в конце выражения expr.
Операторы while
Для операции stmt оператора while в форме:
while (expr) while-body
· переменная v имеет такое же состояние определенного присваивания к началу выражения expr, как и к началу оператора stmt;
· если переменная v является определенно присвоенной в конце выражения expr, она является определенно присвоенной в ветви потока управления до операции while-body и до конечной точки операции stmt;
· если переменная v имеет состояние "определенно присвоенное в результате выполнения выражения с итогом true" в конце выражения expr, она является определенно присвоенной в ветви потока управления до операции while-body, однако не является определенно присвоенной в конечной точке операции stmt;
· если переменная v имеет состояние "определенно присвоенная в результате выполнения выражения с итогом false" в конце выражения expr, она является определенно присвоенной в ветви потока управления до конечной точки операции stmt, однако не является определенно присвоенной в ветви потока управления до операции while-body.
Операторы do
Для операции stmt оператора do в форме:
do do-body while (expr);
· переменная v имеет такое же состояние определенного присваивания в ветви потока управления с начала операции stmt до операции do-body, как и в начале операции stmt.
· переменная v имеет такое же состояние определенного присваивания в начале выражения expr, как и в конечной точке операции do-body.
· если переменная v является определенно присвоенной в конечной точке expr, она является определенно присвоенной в ветви потока управления до конечной точки операции stmt.
· если переменная v имеет состояние "определенно присвоенная в результате выполнения выражения с итогом false" в конце выражения expr, она является определенно присвоенной в ветви потока управления до конечной точки stmt.
Операторы for
Проверка определенного присваивания для оператора for в форме:
for (for-initializer; for-condition; for-iterator) embedded-statement
выполняется для следующей формы оператора:
{
for-initializer;
while (for-condition) {
embedded-statement;
for-iterator;
}
}
Если условие for в операторе for опущено, оценка определенного присваивания выполняется таким образом, словно условие for в приведенной выше развернутой записи оператора было заменено значением true.
|
|
|
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
© cyberpedia.su 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!