КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Операторы объявления переменных
Комментарии Наряду со стандартными ограничителями комментария (/* и */) в программе C++ можно задать комментарий-строку двумя символами //. Все символы, следующие за символами // до конца строки, являются частью комментария и пропускаются компилятором. void main () // это комментарий-строка {/* по-прежнему можно пользоваться традиционными ограничителями комментариев, удобными для задания комментария, занимающего более одной строки... */ // операторы... }В языке С локальная переменная (т.е. переменная, определенная внутри функции) должна объявляться в начале блока перед другими операторами программы. Однако в языке C++ объявление локальной переменной рассматривается как обычный оператор программы, следовательно, объявление можно поместить в любом месте программы перед первой ссылкой на переменную. Примечание Блок – фрагмент кода, ограниченный символами { и }. На переменную, определенную внутри блока, можно ссылаться только внутри этого или внутри вложенного блоков (если она не скрыта переменной с таким же именем внутри вложенного блока). Таким образом, блок определяет область видимости переменной. В языке C++ код можно сделать более легким для чтения и сопровождения, помещая определение переменной непосредственно перед кодом, который ее использует, например: void main() {// другие операторы,..
int Count =0; while (++Count <= 100) { // операторы цикла... } // другие операторы... }Переменную можно объявить даже внутри цикла for. // другие операторы …for (int i = 0; i < MAXLINES; ++i) {// другие операторы...
int Length = GetLineLength (i); if (Length = 0) break; // другие операторы... } if (i < MAXLINES)// встретилась строка длиной О В приведенном коде считается, что объявление счетчика цикла i встречается за пределами блока, следующего непосредственно за оператором for. Следовательно, ссылаться на переменную счетчика можно и после блока for, а переменная Length, объявленная внутри блока for, доступна только внутри этого блока. Если объявление включает инициализацию, элемент данных инициализируется при выполнении оператора объявления. Так, в приведенном примере переменная i создается и инициализируется однократно, когда программное управление достигает оператора for; а переменная Length создается и инициализируется на каждой итерации цикла for. Примечание Если локальная переменная объявлена как статическая (ключевое слово static), то она создается и инициализируется только один раз, когда программное управление впервые достигает оператора объявления переменной. Обратите внимание: если объявление переменной содержит инициализацию, то необходимо убедиться, не пропущен ли оператор объявления, как в следующей конструкции switch, компиляция которой вызывает сообщение об ошибке. switch (Code) {case 1: //... break;
case 2: int Count =0; // ошибка //... break;
case 3: //... break; }Компилятор генерирует ошибку по следующей причине: переменная Count инициализируется только тогда, когда управление достигает ветви case 2 оператора switch. Если управление передается ветви case 3, содержащей обращение к переменной Count, то она не будет инициализирована. Ветвь case 3 имеет доступ к переменной Count, так как объявление переменной предшествует данной ветви внутри того же блока. Компилятор сгенерирует ошибку, даже если код в этой ветви действительно не использует переменную Count. Важен факт, что использование возможно. Для исправления ошибки нужно поместить код ветви case 2 внутри ее собственного блока, например: case 2: { int Count = 0; //... break; } В таком варианте оператора switch ссылаться на переменную Count можно только внутри ветви case 2. В противном случае можно убрать инициализацию из объявления и присвоить переменной Count начальное значение. case 2: int Count; Count = 0; //... break;
Дата добавления: 2014-01-07; Просмотров: 1292; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |