<valarray>

std::slice

class slice;
Valarray slice 選擇器
此類表示一個 valarray slice 選擇器。它不包含也不引用任何元素——它只描述一個元素選擇,用於 valarray::operator[] 中的索引。

一個 valarray slice 由一個 起始索引、一個 大小 和一個 步長 定義。

起始索引 (start) 是選擇中的第一個元素的索引。
大小 (size) 是選擇中的元素數量。
步長 (stride) 是分隔所選元素的間隔。

因此,步長大於 1 的 slice 不會選擇 valarray 中的連續元素; 例如,slice(3,4,5) 選擇元素 3、8、13 和 18。

成員函式


示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// slice example
#include <iostream>     // std::cout
#include <cstddef>      // std::size_t
#include <valarray>     // std::valarray, std::slice

int main ()
{
  std::valarray<int> foo (12);
  for (int i=0; i<12; ++i) foo[i]=i;

  std::valarray<int> bar = foo[std::slice(2,3,4)];

  std::cout << "slice(2,3,4):";
  for (std::size_t n=0; n<bar.size(); n++)
	  std::cout << ' ' << bar[n];
  std::cout << '\n';

  return 0;
}

輸出

slice(2,3,4): 2 6 10


另見