C++valarray中的slice类

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] << " ";
}

猜你喜欢

转载自blog.csdn.net/z1455841095/article/details/82772451