Аддитивные операторы: + и -
expression + expression
expression – expression
Заметки
Ниже перечислены аддитивные операторы.
Сложение (+)
Вычитание (–)
Эти бинарные операторы имеют ассоциативность слева направо.
Аддитивные операторы принимают операнды арифметических типов или типов указателей. Результатом оператора сложения (+) является сумма операндов. Результатом оператора вычитания (–) является разность операндов. Если один или оба операнда являются указателями, они должны быть указателями на объекты, а не на функции. Когда оба операнда являются указателями, результаты имеют смысл только в том случае, если оба операнда указывают на объекты в одном массиве.
Аддитивные операторы принимают операнды арифметических, целочисленных и скалярных типов. Они описаны в следующей таблице.
Типы, используемые с аддитивными операторами
Тип |
Значение |
---|---|
арифметический |
Целочисленные типы и типы с плавающей запятой собирательно называются "арифметическими" типами. |
целочисленный |
Типы char и int всех размеров (long, short), а также перечисления называются "целочисленными типами". |
скалярный |
Скалярные операнды — это операнды арифметического типа или типа указателя. |
Допускаются следующие сочетания этих операторов:
арифметический + арифметический
скалярный + целочисленный
целочисленный + скалярный
арифметический – арифметический
скалярный – скалярный
Обратите внимание, что сложение и вычитание не являются эквивалентными операциями.
Если оба операнда арифметического типа, к ним применяются преобразования, описанные в разделе Арифметические преобразования, при этом результат относится к преобразованному типу.
Пример
// expre_Additive_Operators.cpp
// compile with: /EHsc
#include <iostream>
#define SIZE 5
using namespace std;
int main() {
int i = 5, j = 10;
int n[SIZE] = { 0, 1, 2, 3, 4 };
cout << "5 + 10 = " << i + j << endl
<< "5 - 10 = " << i - j << endl;
// use pointer arithmetic on array
cout << "n[3] = " << *( n + 3 ) << endl;
}
См. также
Ссылки
Выражения с бинарными операторами