05.09.2016 Views

Стефан Р. - С++ Для чайников

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

в левом. Однако причуды авторов языка привели к появлению и других операторов<br />

присвоения.<br />

Создатели C++ заметили, что присвоение часто имеет вид<br />

variable = variable # constant<br />

Здесь # представляет собой какой-то бинарный оператор. Следовательно, чтобы<br />

увеличить целую переменную на два, программист может написать:<br />

nVariable = nVariable + 2;<br />

Из этой записи следует, что к значению переменной nVariable добавляется двойка<br />

и результат снова сохраняется в nVariable.<br />

Использование в левой и правой части выражения одной и той же переменной<br />

весьма распространенное явление в программировании.<br />

Поскольку одна и та же переменная находится по обе стороны знака равенства,<br />

было решено просто добавить оператор, используемый при вычислении, к знаку присвоения.<br />

В таких специфических операторах присвоения допускается использование<br />

всех бинарных операторов. Поэтому указанное выше выражение можно сократить до<br />

nVariable += 2;<br />

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

Почему так важен оператор инкремента<br />

<strong>Р</strong>азработчики С-f-f- заметили, что программисты прибавляют 1 чаще, чем любую<br />

другую константу. Учитывая это, в язык была добавлена соответствующая конструкция.<br />

Кроме того, большинство процессоров способны выполнять команды инкремента<br />

быстрее, чем команды сложения. Учитывая мощность микропроцессоров, которые<br />

использовались во время создания C++, подобное нововведение было действительно<br />

важным.<br />

Модифицированные операторы присвоения используются не так часто,<br />

как обычные, но как правило повышают удобочитаемость программ.<br />

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!