最終更新日時:
が更新

履歴 編集

function
<valarray>

std::slice::コンストラクタ

slice();              // (1)

slice(size_t start,
      size_t length,
      size_t stride); // (2)

slice(const slice&);  // (3)

sliceオブジェクトの構築

sliceオブジェクトを次に示す通りの要素で初期化する。

  • (1) :
    • C++03 : 未規定
    • C++11 : slice(0, 0 ,0)と等価
  • (2) : 初期位置start、要素数length、間隔strideでスライスするsliceオブジェクトを構築する。
  • (3) : コピーコンストラクタ。コピー元のsliceオブジェクトと同じ初期位置、要素数、間隔でスライスするsliceオブジェクトを構築する。

パラメータ

  • start
    • スライスする初期位置。
  • length
    • スライスする要素数。
  • stride
    • スライスする間隔。

#include <valarray>
#include <iostream>

auto main()
  -> int
{

  std::slice s0;

  constexpr auto start  = 3;
  constexpr auto length = 5;
  constexpr auto stride = 7;

  std::slice s1( start, length, stride );

  std::slice s2( s1 );

  auto print = []( const std::slice& s )
    { std::cout << &s << ": " << s.start() << " " << s.size() << " " << s.stride() << "\n"; }
    ;

  print( s0 );
  print( s1 );
  print( s2 );
}

出力

0x7fffe0c71c98: 0 0 0
0x7fffe0c71c70: 3 5 7
0x7fffe0c71c58: 3 5 7

参照