池上
池上 [唐] 白居易 小娃撑小艇,偷采白莲回。 不解藏踪迹,浮萍[1]一道开。
池上 [唐] 白居易 小娃撑小艇,偷采白莲回。 不解藏踪迹,浮萍[1]一道开。
静夜思 [唐] 李白 床前明月光,疑[1]是地上霜。 举头望明月,低头思故乡。
对韵歌 云对雨,雪对风。 花对树,鸟对虫。 山清对水秀,柳树对桃红。
画 [唐] 王维 远看山有色[1],近听水无声。 春去花还在,人来鸟不惊[2]。
一二三四五,金木水火土。 天地分上下,日月照古今。
递归函数就是自己调用自己,这样就是递归调用。在数学上,关于递归函数的定义如下:对于某一函数f(x),其定义域是集合A,那么若对于A集合中的某一个值X0,其函数值f(x0)由f(f(x0))决定,那么就称f(x)为递归函数。
递归函数在定义是一定要记得加结束递归的条件,不然会一种递归下去“无穷递归”。fun1递归函数结束条件是 if(n==1),在设计递归函数时根据实阶选择结束递归条件,切记!!!
可变参数函数设计一般用在参数个数不是固定时,比如要设计一个相乘函数,但参数个数在定义时不知道要多少个,在函数调用时才能确定。定义可变参数要用到几个宏
可变参数可以解决参数不个数不固定问题,但处理还是比较麻烦。一般像这种参数个数不固定我在定义函数时,参数设计成:vector或都传指针和个数。
二义性就是有两个意义,两个意义都合理。这种问题在C++语言中会有发生,像函数重载时就有可能会发生二义性问题。写一段代码来让大家能清楚的理解函数重载二义性。
以上只是举函数重载方面的二义性问题,还有别的特性也会有二义性产生,比如继承。对于二义性问题编译器是比较没有办法优化的了,这类问题只能在程序设计时就避免掉,不要有二义性产生。
上篇简单介绍了一下函数重载(overloaded)部分,这篇将写个实例来说一下函数重载(overloaded)。函数重载(overloaded),简单讲就是函数名一样,其它地方不一样(返回类型或参数)。重载可以让同样功能,不同类型的函数有同样的名字。在编程时应该都会有这种苦,就是想函数名如何取。用重载可以减少这种取名代来的痛苦。
函数是C++语言组成重要部份之一,它可以很好的将相同功能封装好,给个函数名进行调用。函数的表现形式非常多,内容也多,这里讲一些基本的,基本的会了,才可能去更好的运用。