列表初始化返回值
C++11规定可以以列表初始化的方式来进行返回值的表达。
vectorprocess(){ if(expected.empty()) return {}; else if(expected == actual) return { "funcationX", "okay"}; else return { "funcationX", expected, actual};}
主函数main的返回值
非void返回值类型的函数,必须有一条返回值。
main函数是这条规定中的一个例外。
虽然看上去可以不写return,但实际的情况是编译器会添加一条reuturn 0的语句。
一般来说main函数的返回值看作整个程序执行结果的一个直接指示。
递归
函数对自身的调用称为递归, 而这种调用关系是否直接调用,只要对自身有调用就称为递归。
递归的第一原则,一定要有退出的条件,否则将会变成无限循环,耗尽栈空间(虽然现在很难耗尽)
int factorial(int val){ if(val > 1) return factorial(val-1) * val; return 1;}