C++ 函数与递归(一)
1.提高程序性能
(1)使用内联函数,消除函数调用的开销
(2)引用参数,高效地向函数传递大型数据项
2.函数重载
具有相同的函数名称,但是具有不同类型的实参或不同的实参个数
3.数学类库中的函数的参数和返回值均为double
4.函数返回值类型不同会出现编译错误
5.c++标准中并没有指定函数实参的求值顺序,如果不同的编译器采用不同的求值顺序,则传递给函数的实参值可能不同,从而导致微妙的逻辑错误
6.在函数调用中,每个形参都对应着一个实参
7.在函数原型中,包含函数名和实参类型的部分被称作函数签名,或简称为签名;并不包括返回类型
8.位于同一作用域的函数,必须具有不同的签名
9.函数原型的一个重要特性是实参强制性,即迫使实参转换为参数声明所指定的适当类型
10.在该使用rand的地方使用srand来试图获得随机数,这是一个编译错误,srand函数并不返回值
srand(unsigned int);或srand(time(0))
1+rand()%6 //可以得到1-6的随机数字
11.枚举类型的变量
enum Status{CON,WON,LOST}
Status gamestatus;
if......gamestatus = CON;
枚举由关键字enum引入,关键字后面是类型名(这里为status),它是一组由标识符表示的整型常量。这些枚举常量的值从0开始(除非另有指定),并且依次增加1.在上面这个枚举中,常量CON的值为0,WON值为1,LOST的值为2。
枚举中的标识符必须各不相同,但是不同的枚举常量可以具有想用的整数值。
12.enum Months{JAN = 1,FEB,MAR,......,DEC}第一个值被显示的设置为1,因此余下的值从1开始递增,就得到了1-12。
13.在枚举定义中,任何枚举常量都可以被赋予一个整数值,而且除非进行了显示的设置,否则后续枚举常量的值总是比它前面那个大1。