§ 11. Структурированный тип данных массив

11.3. Операции над массивами

Массивы, описанные типом данных vector, можно использовать в операциях присваивания. В результате выполнения этой команды все элементы одного массива будут переписаны во второй (пример 11.9). Если в описании векторы имеют разный размер, то он будет преобразован, поскольку векторы являются динамическими структурами, которые могут изменять свой размер во время выполнения программы.

Векторы можно сравнивать. При сравнении используют операции сравнения «==» и «!=». Векторы равны, если они содержат одинаковые элементы на тех же позициях, иначе они не равны.

Другие операции для массива как для типа данных не определены.

Операции, выполняемые с элементами массива, соответствуют операциям, выполняемым над базовым типом. Если, например, описан массив из чисел типа int, то с элементами такого массива можно выполнять такие же операции, как и с целыми числами. Элементы массива называют индексированными переменными. Они могут использоваться так же, как и простые переменные (пример 11.10). 

Пример 11.9. Пусть массивы a и b описаны следующим образом:

   vector <int> a(25), b(30);  

В результате выполнения команды:

   a = b;   

размер массива a будет увеличен до 30 элементов, все элементы в массиве a будут иметь те же значения, что и в массиве b.

В результате выполнения команды:

  b = a;   

размер массива b будет уменьшен до 25 элементов, все элементы в массиве b будут иметь те же значения, что и в массиве a. Значения последних 5 элементов, которые исходно были в векторе b, будут потеряны.

Пример 11.10. Операции над индексированными переменными:

  a[3] = 25 % 7;

  sr = (t[0] + T[29]) / 2;

  b[k] = a[k] * 2;

  sum = sum + a[i];

  if (s[i] < 0) …

  n = s[i].length();