Читайте также
Арифметические операции
Для работы с числами используют арифметические операции.• Сложение – знак плюс (+). Например, 5 + 7 = 12.• Вычитание – знак минус (-). Например, 67 – 43 = 24.• Умножение – звездочка (*). Например, 2 * 2 = 4.• Деление – косая черта (/). Например, 45 / 5 = 9.• Остаток от
Арифметические операции
+ – сложение— – вычитание* – умножение/ – делениеDIV – деление нацелоMOD – остаток от деления
Арифметические операции
Унарные операции – применяются к одной переменной.++ – увеличение на единицу (x++ выдаёт старое значение, ++x – новое значение).– – – уменьшение на единицу, аналогично операции ++.Бинарные операции – стоят между двумя переменными или
I. Арифметические операции
+
Прибавляет величину, находящуюся справа, к величине, стоящей слева
-
Вычитает величину, стоящую справа, из величины, указанной слева
-
Будучи унарной операцией, изменяет знак величины, стоящей справа
*
Умножает величину справа на величину,
Операции с итераторами (Iterator operations)
Так как только итераторы произвольного доступа обеспечивают + и - операторы, библиотека предоставляет две шаблонные функции advance и distance. Эти функции используют + и - для итераторов произвольного доступа (и имеют, поэтому, сложность
Логические операции (Logical operations)
template ‹class T›struct logical_and: binary_function‹T, T, bool› { bool operator()(const T& x, const T& y) const {return x&& y;}};template ‹class T›struct logical_or: binary_function‹T, T, bool› { bool operator()(const T& x, const T& y) const {return x || y;}};template ‹class T›struct logical_not: unary_function‹T, bool› { bool operator()(const T& x) const
Не меняющие последовательность операции (Non-mutating sequence operations)
Операции с каждым элементом (For each)
template <class InputIterator, class Function> Function for_each(InputIterator first, InputIterator last, Function f);for_each применяет f к результату разыменования каждого итератора в диапазоне [first, last) и возвращает f. Принято,
Меняющие последовательность операции (Mutating sequence operations)
Копировать (Copy)
template ‹class InputIterator, class OutputIterator›OutputIterator copy(InputIterator first, InputIterator last, OutputIterator result);copy копирует элементы. Для каждого неотрицательного целого числа n ‹ (last - first) выполняется присваивание *(result + n) = *(first + n).
Операции сортировки и отношения (Sorting and related operations)
Все операции в этом разделе имеют две версии: одна берёт в качестве параметра функциональный объект типа Compare, а другая использует operator‹.Compare - функциональный объект, который возвращает значение, обратимое в bool. Compare comp
Операции над множеством для сортированных структур (Set operations on sorted structures)
Этот раздел определяет все основные операции над множеством для сортированных структур. Они даже работают с множествами с дубликатами, содержащими множественные копии равных элементов. Семантика
Операции над пирамидами (Heap operations)
Пирамида - специфическая организация элементов в диапазоне между двумя итераторами произвольного доступа [a, b). Два её ключевые свойства: (1) *a - самый большой элемент в диапазоне, (2) *a может быть удалён с помощью pop_heap или новый элемент
Обобщённые численные операции (Generalized numeric operations)
Накопление (Accumulate)
template ‹class InputIterator, class T›T accumulate(InputIterator first, InputIterator last, T init);template ‹class InputIterator, class T, class BinaryOperation›T accumulate(InputIterator first, InputIterator last, T init, BinaryOperation binary_op);accumulate подобен оператору APL reduction и функции Common Lisp reduce, но он
4.2. Арифметические операции
Таблица 4.1. Арифметические операции
Символ операции
Значение
Использование
*
Умножение
expr*expr
/
Деление
expr / expr
%
Остаток от деления
expr % expr
+
Сложение
expr + expr
-
Вычитание
expr – expr
Деление целых чисел дает в результате целое
Арифметические операции
Арифметические выражения вычисляются слева направо за исключением случаев, когда возникает двусмысленность. В этих случаях арифметические операции вычисляются в соответствии с приоритетами, описанными в табл. 21.3. Например, умножение
Арифметические операции
К арифметическим относятся бинарные операции +, -, *, / для вещественных и целых чисел, бинарные операции div и mod для целых чисел и унарные операции + и - для вещественных и целых чисел. Тип выражения x op y, где op - знак бинарной операции +, - или *,