C++ | страница 18
В большинстве программ на С++ широко применяются указатели. Унарная операция * разыменовывает* указатель, т.е. *p есть объект, на который указывает p. Эта операция также называется косвенной адресацией. Например, если имеется char* p, то *p есть символ, на который указывает p. Часто при работе с указателями бывают полезны операция увеличения ++ и операция уменьшения –. Предположим, p указывает на элемент вектора v, тогда p++ делает p указывающим на следующий элемент.
– * англ. dereference – получить значение объекта, на который указывает данный указатель. (прим. перев.)
1.4.2 Операторы Выражения
Самый обычный вид оператора – выражение;. Он состоит из выражения, за которым следует точка с запятой. Например:
a = b*3+c; cout «„ «go go go“; lseek(fd,0,2);
1.4.3 Пустой оператор
Простейшей формой оператора является оператор:
;
Он не делает ничего. Однако он может быть полезен в тех случаях, когда синтаксис требует наличие оператора, а вам
оператор не нужен. 1.4.4 Блоки Блок – это возможно пустой список операторов, заключенный в фигурные скобки:
(* a=b+2; b++; *)
Блок позволяет рассматривать несколько операторов как один. Область видимости имени, описанного в блоке, простирается до конца блока. Имя можно сделать невидимым с помощью описаний такого же имени во внутренних блоках.
1.4.5 Оператор if
Программа в следующем примере осуществляет преобразование дюймов в сантиметры и сантиметров в дюймы. Предполагаемся, что вы укажете единицы измерения вводимых данных, добавляя i для дюймов и c для сантиметров:
#include «stream.h»
main() (* const float fac = 2.54; float x, in, cm; char ch = 0;
cout «„ "введите длину: "; cin “» x »» ch;
if (ch == 'i') (* // inch – дюймы in = x; cm = x*fac; *) else if (ch == 'c') // cm – сантиметры in = x/fac; cm = x; *) else in = cm = 0;
cout «„ in «« " in = " «« cm «« « cm\n“; *)
Заметьте, что условие в операторе if должно быть заключено в круглые скобки.
1.4.6 Операторы switch
Оператор switch производит сопоставление значения с множеством констант. Проверки в предыдущем примере можно записать так:
switch (ch) (* case 'i': in = x; cm = x*fac; break; case 'c': in = x/fac; cm = x; break; default: in = cm = 0; break; *) Операторы break применяются для выхода из оператора
switch. Константы в вариантах case должны быть различными, и если проверяемое значение не совпадает ни с одной из констант, выбирается вариант default. Программисту не обязательно предусматривать default.