slice类对象可以用作数组索引,在这种情况下他表示的不是一个值而是一组值。
slice对象呗初始化为三个整数值:
- 起始索引
- 索引数
- 跨距数
起始索引:
表示第一个被选中的元素的下标也就是索引
索引数:
表示一共要几个元素(这个要考虑到数组大小而定)
跨距:
表示元素之间的间隔多少
例如:
有一组数据是:1,2,3,4,5,6,7,8,9,10
slice(,0,4,3); 这表示什么意思呢?第0个索引开始,也就是从数值1开始要抓取4个元素,并且每个元素距离为3,所以这四个数值分别是:1,4,7,10
std::valarray<int>val = { 1,2,3,4,5,6,7,8,9,10 };
std::valarray<int>bal(val[slice(0, 4, 3)]);
for (int i = 0; i<bal.size(); i++)
{
cout << bal[i] << " ";
}