名前空間
変種
操作

std::valarray<T>::shift

From cppreference.com
< cpp‎ | numeric‎ | valarray
 
 
 
 
valarray<T> shift( int count ) const;

count 要素だけ位置がシフトされた、同じサイズの新しいvalarrayを返します。各要素の新しい位置は i−count となります。ここで i は以前の位置です。シフトされて入ってくる要素の値は T() です。

目次

[編集] パラメータ

count - 要素をシフトする位置の数

[編集] 戻り値

シフトされた要素を持つ結果のvalarray。

[編集] 注釈

この関数は、std::valarray とは異なる戻り値型で実装される場合があります。その場合、代替型は以下のプロパティを持ちます。

  • std::valarray のすべての const メンバ関数が提供されます。
  • std::valarraystd::slice_arraystd::gslice_arraystd::mask_array、および std::indirect_array は、代替型から構築できます。
  • 2つの const std::valarray<T>& 引数を受け取るすべての関数について、代替型を受け取る同一の関数が追加されます(begin() および end() を除く)。
  • 2つの const std::valarray<T>& 引数を受け取るすべての関数について、const std::valarray<T>& と代替型のすべての組み合わせを受け取る同一の関数が追加されます。
  • 戻り値型は、最も深くネストされた引数型に対して、2レベル以上のテンプレートネストを追加しません。

[編集]

#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) [編集]
English 日本語 中文(简体) 中文(繁體)