C++语言中为什么要用return,这么用有什么好处?return和break有什么区别?
return语句就是用于指定函数返回的值。return语句只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误!
当执行return语句时,即使函数主体中还有其他语句,函数执行也会停止!
break 可用于 C 提供的全部三种循环结构,其作用是跳出循环。如果 break 位于循环嵌套中的一个内循环,则仅跳出该内循环。
return 可以控制循环,最重要的是函数需要返回值.
一个程序可以没有输入但是不能没有输出,没有输出,鬼知道干了些啥.
有可能你会理解 可以用void 函数,控制全局变量之类的. 首先这种做法的不对,这和函数的引用透明性,还有函数的映射,一一对应的关系相关,
没有"副作用"
所谓"副作用"(side effect),指的是函数内部与外部互动(最典型的情况,就是修改全局变量的值),产生运算以外的其他结果。
函数强调没有"副作用",意味着函数要保持独立,所有功能就是返回一个新的值,没有其他行为,尤其是不得修改外部变量的值。
不修改状态
上一点已经提到,函数式只是返回新的值,不修改系统变量。因此,不修改变量,也是它的一个重要特点。
。不修改变量,意味着状态不能保存在变量中。函数式使用参数保存状态,最好的例子就是递归。
引用透明性
函数程序通常还加强引用透明性,即如果提供同样的输入,那么函数总是返回同样的结果。就是说,表达式的值不依赖于可以改变值的全局状态。这使您可以从形式上推断程序行为,因为表达式的意义只取决于其子表达式而不是计算顺序或者其他表达式的副作用。这有助于验证正确性、简化算法,甚至有助于找出优化它的方法。
return语句是用在函数末尾用于表示函数所有逻辑执行结束,在调用栈中就是将当前执行函数弹出调用栈;
明白理解return好处是建立在理解return的作用之上的,根据return浅显的作用后,我们就知道在编码时我们可以在适当的地方直接使用return来结束当前函数的执行
而省去后面代码逻辑的判断处理。
break是跳出当前这一层循环而继续直接下一次循环或循环体后面的逻辑。
break是作用用与函数中的break所处的循环体,return是作用于整个函数
return语句是用在函数末尾用于表示函数所有逻辑执行结束,在调用栈中就是将当前执行函数弹出调用栈;
明白理解return好处是建立在理解return的作用之上的,根据return浅显的作用后,我们就知道在编码时我们可以在适当的地方直接使用return来结束当前函数的执行
而省去后面代码逻辑的判断处理。
break是跳出当前这一层循环而继续直接下一次循环或循环体后面的逻辑。
break是作用用与函数中的break所处的循环体,return是作用于整个函数
简单明了的讲一下, return 是直接跳出某个函数, 并给该函数有一个返回值,而break是看到大家说,我才想说的,break是跳出整个循环,
另外还有continue是跳出本次循环进行下次循环
for (int i=0; i<10; i++)
{
break; //跳出for 循环
continue; //即当前循环是i=x, 那么不执行下面的语句,直接从i=x+1开始
}
return ..;//返回值类型是该函数定义的类型
return是返回指定类型的变量值,break值跳出某个循环。
return是结束函数并且有返回值return 2;它的返回值是2,而break是跳出循环
return马上结束当前函数,返回到调用函数,使调用方能控制程序流程。
void SomeFunc()
{
// lots of code
for( i=0; i<n; ++i )
{
if( some condition )
return;
// code, not executed if return called
}
// lots of code - this will not get executed if return is called
}
break结束循环体,执行循环体下一行。
void SomeFunc()
{
// lots of code
for( i=0; i<n; ++i )
{
if( some condition )
break;
// code, this will not execute if break is called
}
// lots of code - this *will* get executed if break is called
}
除了返回值为void的函数,函数必须使用return返回某值,否则会报错。