×
Traktatov.net » C++ для «чайников» » Читать онлайн
Страница 34 из 251 Настройки

Предположим, что переменная n имеет значение 5. Оба способа применения к n оператора инкремента ( ++n и n++ ) приведут к результату 6. Разница между ними состоит в том, что значение n в выражении ++n равно 6, в то время как в выражении с постфиксной формой записи оно равно 5. Это можно проиллюстрировать следующим примером:


      /* объявляем три целые переменные */

      int n1 , n2 , n3 ;


      n1 = 5 ;

      n2 = ++n1 ; /* обе переменные - n1 и n2 - получают значение 6 */


      n1 = 5 ;

      n3 = n1++ ; /* n1 принимает значение 6, а n3 - 5 */ 


Другими словами, переменной n2 присваивается уже увеличенное префиксным оператором инкремента значение n1, тогда как переменной n3 передаётся ещё не увеличенное постфиксным оператором значение n1.

Почему так важен оператор инкремента...53

Разработчики С++ заметили, что программисты прибавляют 1 чаще, чем любую другую константу. Учитывая это, в язык была добавлена соответствующая конструкция.

Кроме того, большинство процессоров способны выполнять команды инкремента быстрее, чем команды сложения. Учитывая мощность микропроцессоров, которые использовались во время создания С++, подобное нововведение было действительно важным.

_________________

53 стр. Глава 3. Выполнение математических операций


►Использование операторов присвоения...54  

Операторы присвоения являются бинарными, изменяющими значения своих левых аргументов. Обыкновенный оператор присвоения "=" абсолютно необходим во всех языках программирования. Этот оператор сохраняет значение правого аргумента в левом. Однако причуды авторов языка привели к появлению и других операторов присвоения.

Создатели С++ заметили, что присвоение часто имеет вид


            variable = variable # constant


Здесь # представляет собой какой-то бинарный оператор. Следовательно, чтобы увеличить целую переменную на два, программист может написать:


            nVariable = nVariable + 2 ;


Из этой записи следует, что к значению переменной nVariable добавляется двойка и результат снова сохраняется в nVariable.

«Использование в левой и правой части выражения одной и той же переменной — весьма распространённое явление в программировании.»

[Советы]

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


      nVariable += 2 ;


Смысл этой записи таков: "значение переменной nVariable увеличено на 2".

«Модифицированные операторы присвоения используются не так часто, как обычные, но как правило повышают удобочитаемость программ.»

[Советы]

_________________

54 стр. Часть 1. Первое знакомство с С++


Глава 4. ВЫПОЛНЕНИЕ ЛОГИЧЕСКИХ ОПЕРАЦИЙ...55

ОГЛАВЛЕНИЕ

                В этой главе...

►Зачем нужны логические операторы 55

►Использование простых логических операторов 55

►Бинарные числа в С++ 60

►Выполнение побитовых логических операций 62

Наиболее распространённой синтаксической конструкцией С++ является выражение. Большинство используемых выражений содержит арифметические операторы сложения (