Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект С++ (Часть 1).doc
Скачиваний:
17
Добавлен:
09.11.2019
Размер:
1.24 Mб
Скачать

Операции составного присваивания

Операции этой группы перечислены в следующей таблице:

Операция

Использование

Эквивалент

*=

a *= b

a = a * b

/=

a /= b

a = a / b

%=

a %= b

a = a % b

+=

a += b

a = a + b

-=

a -= b

a = a - b

<<=

a <<= b

a = a << b

>>=

a >>= b

a = a >> b

&=

a &= b

a = a & b

|=

a |= b

a = a | b

^=

a ^= b

a = a ^ b

Общий формат записи выражений с использованием этих операций:

< Переменная > < Операция >= < Выражение >

Эквивалентом этого формата в общем случае является:

< Переменная > = < Переменная > < Операция > < Выражение >

Таким образом, выражение с использованием составного присваивания (столбец "Использование") является укороченной формой записи соответствующего эквивалентного выражения (столбец "Эквивалент").

Условная операция

Единственная в C++ тернарная операция. Формат записи:

< Условие > ? < Выражение 1 > : < Выражение 2 >

| | |

Операнд 1 Операнд 2 Операнд 3

"Условие" - любое выражение, результатом которого является число или логическое значение. Значение "Условия" трактуется как логическое значение (0 - false; любое не равное 0 значение - true). Если значение первого операнда true (не равное 0), то значение этого условного выражения будет равно значению второго операнда (Выражение 1). Если же значение первого операнда false (0), то значение этого условного выражения будет равно значению третьего операнда (Выражение 2).

Например:

// Переменной max присваивается наибольшее из a и b значение

int max = a > b ? a : b;

Условные выражения можно вкладывать друг в друга. Например:

// Переменной max присваивается наибольшее из a, b и c значение

int max = a > b ? (a > c ? a : c) : (b > c ? b : c);

Часто условное выражение используется для вывода на экран одного из значений, в зависимости от некоторого условия. Например:

cout << (a > b ? a : b) << endl; // Выводится наибольшее из a и b

Операция sizeof

Операция sizeof предназначена для определения объема памяти в байтах, требующегося для размещения некоторого объекта или типа данных. Имеет две формы:

sizeof < Выражение >

или

sizeof (< Тип данных >)

Например:

long a = 0;

double d;

cout << sizeof (double) << endl; // Выведено 8

cout << sizeof (5 / 3) << endl; // Выведено 4

cout << sizeof a << endl; // Выведено 4

cout << sizeof (a + 3.14f) << endl; // Выведено 4

cout << sizeof (d = a + 3.14f) << endl; // Выведено 8