Spec-Zone.ru › C++

std::valarray<T>::shift

valarray<T> shift( int count ) const;

Возвращает новый valarray того же размера, в котором позиции элементов сдвинуты на count элементов. Новая позиция каждого элемента равна i−count, где i — его предыдущая позиция. Значение элементов, сдвинутых внутрь, равно T().

Параметры

count - число позиций, на которое сдвигаются элементы

Возвращаемое значение

Полученный valarray со сдвинутыми элементами.

Примечания

Функция может быть реализована с типом возвращаемого значения, отличным от std::valarray. В этом случае тип-замена обладает следующими свойствами:

  • Предоставляются все функции-члены std::valarray с квалификатором const.
  • std::valarray, std::slice_array, std::gslice_array, std::mask_array и std::indirect_array могут быть сконструированы из типа-замены.
  • Для каждой функции, принимающей аргумент типа conststd::valarray<T>& за исключением begin() и end()(начиная с C++11), должны быть добавлены идентичные функции, принимающие типы-замены;
  • Для каждой функции, принимающей два аргумента типа conststd::valarray<T>&, должны быть добавлены идентичные функции, принимающие все комбинации аргументов типов conststd::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

См. также

cshift
циклический сдвиг элементов valarray
(открытая функция-член)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/numeric/valarray/shift

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API