Namespaces
Variants

std::valarray<T>::shift

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 요소들의 순환 시프트
(public member function)