Класс valarray: доступ к элементам

К любому элементу можно обратиться как к элементу обычного массива. Достаточно указать его индекс в квадратных скобках. Нумерация начинается с нуля. Можно как получить значение, так и изменить его. Если индекс выходит за границы диапазона, то возвращаемое значение не определено. Пример доступа к элементу по индексу:

std::valarray<int> arr = {1, 2, 3};
std::cout << arr[0] << std::endl; // 1
arr[0] = 55;
std::cout << arr[0] << std::endl; // 55

Получить итератор, указывающий на начало массива, позволяет функция begin(). Прототипы функции:

template<typename _Tp> _Tp *begin(valarray<_Tp> &v);
template<typename _Tp> const _Tp *begin(const valarray<_Tp> &v);

Получим и изменим значение первого элемента массива:

std::valarray<int> arr = {1, 2, 3};
auto it = std::begin(arr);
std::cout << *it << std::endl; // 1
*it = 0;
std::cout << *it << std::endl; // 0

Функция end() возвращает итератор, указывающий на позицию после последнего элемента. Прототипы функции:

template<typename _Tp> _Tp *end(valarray<_Tp> &v);
template<typename _Tp> const _Tp *end(const valarray<_Tp> &v);

Выведем значение последнего элемента:

std::valarray<int> arr = {1, 2, 3};
auto it = std::end(arr);
std::cout << *(--it) << std::endl; // 3

Учебник C++ (MinGW-W64)
Учебник C++ (MinGW-W64) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов