共读Primer51.[6.3]返回类型和return语句--列表初始化返回值 Page203
Posted chattyku
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了共读Primer51.[6.3]返回类型和return语句--列表初始化返回值 Page203相关的知识,希望对你有一定的参考价值。
列表初始化返回值
C++11规定可以以列表初始化的方式来进行返回值的表达。
vector<string> process() { 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; }
以上是关于共读Primer51.[6.3]返回类型和return语句--列表初始化返回值 Page203的主要内容,如果未能解决你的问题,请参考以下文章
共读Primer46.[6.3]参数传递--main函数处理参数 Page196