std::valarray<T>:: shift
From 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
(публичная функция-член) |