August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
我们可以用return语句从函数返回一个值:
这段代码中的返回值恰好就是我们用一个类型为V的值初始化一个类型为T的变量所得到的值:
也就是说,返回值可以看作初始化的另一种形式。
如果函数声明中指定要返回值,则函数体内必须通过return返回一个值。否则,就会导致错误“直至函数末尾未返回值”:
实际上,编译器可能不会注意到我们“忘记了”x==0的情形。原则上它可以注意到,但很少有编译器如此聪明。对于复杂的函数,编译器完全可能无法知道你是否返回了一个值,因此编程中要小心。这里,“小心”的意思是,要切实保证对于函数的每种执行路径都有一条return语句或者一个error()。
由于历史原因,main()是一个特例。执行到main()的末尾而未返回值,等价于返回0,意思是“成功完成”程序。
在一个不返回值的函数中,我们可以调用无值的return语句从函数返回调用者。例如:
如你所见,在一个void函数中直至末尾未返回值是合法的,这等价于一个无值的返回return;。 ...