转换运算符:
static_cast(value)
例:static_cast(1.7) 结果为1 static_cast(1)/2 结果为0.5
bool:
!(a&&b)等同于!a||b
!(a||b)等同于!a&&b
优先级:
a++和a–
±(一元加减),++a和–a,static_cast(V),(type)(Casting)
!(逻辑非)
乘 、/、%(乘 除 模)
±(二元加减)
< <= > >=(关系)
== !=
&&
||
= += -= *= /= %=(赋值)
a-b+=c=5等价于a=(b+=(c=5))
rand()%10 返回一个0~9的随机数
50+rand()%50 返回一个50~99的随机数
a+rand()%b 返回一个介于a~a+b的随机数,包括a+b
rand()%128 返回一个介于0~127的整数
生成随机小写字母:
static_cast(‘a’)是‘a’的ASCII码
所以介于static_cast(‘a’)和static_cast(‘z’)之间的随机数是:
static_cast(‘a’)+rand()%(static_cast(‘z’)-static_cast(‘a’)+1)
也可表示为:
‘a’+rand()%(‘z’-‘a’+1)
一个随机小写字母:static_cast(‘a’+rand()%(‘z’-‘a’+1))
概括之前讨论,一个随机字符介于ch1和ch2之间,且ch1小于ch2,可以用如下代码生成:
static_cast(ch1+rand()%(ch2-ch1+1))