类mask_array

  1. valarray类提供了一种描述子集的方式: 屏蔽子集。
  2. valarray类经过“屏蔽”处理后,返回结果为valarray<bool>
  3. 将“屏蔽”作为下标,值为true的位表明了对应的valarray数组中的元素将作为结果的一部分。
  4. 和slice_array一样,mask_array不能有程序开发者构造和复制。
  5. 屏蔽的valarray的元素的个数不能多于valarray的元素个数。

【mask_array就是使用布尔表达式来屏蔽相应元素的结果。】
例子:

//----------------------省略-----------------
valarray<int> val_1 = { 1, 2, 3, 4, 5, 6, 7 ,8,9};
bool b[] = {0,1,0,1,0,1,1};
valarray<bool> ms(b,7);//屏蔽

//bool值数对应,ms和val_1一一对应,0屏蔽,1选择 
//2,4,6,7对应位置为1,不屏蔽
valarray<int>  val_2 = val_1[ms];

//bool表达式,大于5的值
valarray<int> val_3 = val_1[val_1 > 5];
//----------------------省略-----------------

输出结果为:

val_2:  2   4   6   7
val_3:  6   7   8   9
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值