1.数组的大小
-
数组的元素数量在1到10之间。
-
不会对元素的大小进行约束。
还有size()
2.约束数组中的元素
例如
3.产生唯一元素值的数组
-
randc来产生数组元素,在定义数组foreach遍历整个数组,使用randc产生的不同的值给数组。ua有64个元素,使用randc随机的val有256个不同的数,那么ua数组的元素都是唯一的。在256张牌中不放回的抽了64张牌。
-
可以看到上述两种方法都很复杂,因此使用关键词“unique”会方便很多。
4.数据约束例码1
-
动态数组前加了rand,那么就不需要new了,rand会自动填充数据。
答案:D。因为最后的da[i+1]最终会超过da数组大小的约束,那么会报错。需要添加if(i<da.size()-2)
5.随机化句柄数组
-
句柄rand了的话,就是会随机句柄指向的对象。
-
不加rand的话,RandStuff array[]表示创建了一个存放 RandStuff 类的 句柄的动态数组,该动态数组里存放的都是句柄。
-
加了rand的话,执行ra.randomize()的话,不仅会随机array.size(),还会随机化RandStuff创建的array[]的元素个数大小,以及它所指向的RandStuff类里的成员变量,但是该类中变量没有rand修饰。
答案:B。因为RandStuff类中的的value值没有rand关键词修饰,所以value的值不变一直为1。如果value加了rand的话,value两位最大值为3最小值为0,随机化只要数字在0到3之间的话就是合理的。
-
一个句柄被声明为rand想要表示什么?
-
答:我要randomize这个句柄所属类的时候,这个句柄因为是rand,所以句柄指向的对象里面的变量也要随机化(实施该随机化的前提是该句柄不悬空,其次对象里的变量被rand修饰)