std::valarray<T>::shift
От ru.cppreference.net
valarray<T> shift( int count ) const;
|
||
Возвращает новую valarray того же размера с элементами, позиции которых сдвинуты на count элементов. Новая позиция каждого элемента равна i−count, где i — это прежняя позиция. Значение сдвинутых внутрь элементов равно T().
Параметры
| count | - | количество позиций для сдвига элементов |
Возвращаемое значение
Результирующий valarray со сдвинутыми элементами.
Примечания
Функция может быть реализована с типом возврата, отличным от std::valarray. В этом случае заменяющий тип имеет следующие свойства:
- Все
constфункции-члены std::valarray предоставлены. - std::valarray, std::slice_array, std::gslice_array, std::mask_array и std::indirect_array могут быть созданы из заменяющего типа.
- Для каждой функции, принимающей
const std::valarray<T>&за исключением begin() и end()(начиная с C++11), должны быть добавлены идентичные функции, принимающие заменяющие типы; - Для каждой функции, принимающей два
const std::valarray<T>&аргумента, должны быть добавлены идентичные функции, принимающие любую комбинациюconst std::valarray<T>&и заменяющих типов. - Тип возврата не добавляет более двух уровней вложенности шаблонов по сравнению с наиболее глубоко вложенным типом аргумента.
Пример
Запустить этот код
#include <iostream> #include <valarray> int main() { std::valarray<int> v{1, 2, 3, 4, 5, 6, 7, 8}; for (auto const& val : v) std::cout << val << ' '; std::cout << '\n'; std::valarray<int> v2 = v.shift(2); for (auto const& val : v2) std::cout << val << ' '; std::cout << '\n'; }
Вывод:
1 2 3 4 5 6 7 8 3 4 5 6 7 8 0 0
Смотрите также
|
циклический сдвиг элементов valarray
(публичная функция-член) |