【摘要】:间接数组子集可以使用类indirect_array来表示。但是类indirect_array不能直接由用户构造或复制,和mask_array的用法一样,indirect_array是将valarray<size_t>用做valarray的下标而产生的子集。另外,类indirect_array和所有valarray的子集一样,具有以下属性。3)若valarray不是常量,子集表达式将导致一个indirect_array型数组,后者以reference语意来表现valarray的相应元素。4)indirect_array型数组提供赋值操作符和赋值复合操作符来修改子集中的元素。5)通过型别转换,可以将indirect_array型数组和其他valarray以及valarrays子集组合起来。
间接数组子集也是创建数组子集的一种方式,还可以任意排列元素。这是定义数组子集的第四种方法。同样,通过传递一个索引数组,即可定义一个valarray的子集。间接数组子集可以使用类indirect_array来表示。但是类indirect_array不能直接由用户构造或复制,和mask_array的用法一样,indirect_array是将valarray<size_t>用做valarray的下标而产生的子集。作为下标的valarray的元素个数必须小于原始valarray数组。
另外,类indirect_array和所有valarray的子集一样,具有以下属性。
1)若要定义某个valarray的子集,可以使用元素型别为size_t的valarray作为参数传递给valarray的下标操作符。
2)若valarray是常量,则子集表达式将导致新的valarray。
3)若valarray不是常量,子集表达式将导致一个indirect_array型数组,后者以reference语意来表现valarray的相应元素。
4)indirect_array型数组提供赋值操作符和赋值复合操作符来修改子集中的元素。
5)通过型别转换,可以将indirect_array型数组和其他valarray以及valarrays子集组合起来。
提示(www.xing528.com)
用来指定子集的索引无需排序,并且可以重复出现。
例6-9
例6-9的执行效果如图6-9所示。
图6-9 例6-9的执行效果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。