C++中的return语句是函数中一个重要的语句,return语句用于结束当前正在执行的函数,并将控制权返回给调用此函数的函数。
return语句有两种形式:return;
return expression;
1、没有返回值的函数
不带返回值的return语句只能用于返回类型为void的函数,return语句是为了引起函数的强制结束,这种用法类似于循环结构中的break语句的作用。
例子:
void swap(int &v1,int &v2)
{
if(v1==v2)
return; //当v1==v2时,强制结束函数,不进行两数交换
int temp=v2;
v2=v1;
v1=tmp;
}
返回类型为void的函数通常不能使用第二种形式的return语句,但是,它可以返回另一个返回类型同样是void的函数的调用 结果:
void do_swap(int &v1,int &v2)
{
int temp=v2;
v2=v1;
v1=temp;
}
void swap(int &v1,int &v2)
{
if(v1==v2)
return;
return do_swap(v1,v2);//返回void函数的结果
}
2、具有返回值的函数
任何返回类型不是void的函数都必须返回一个值,而且这个返回值的类型必须和函数的返回类型相同,或者能隐式转化为函数的返回类型。
尽管C++不能确保结果的正确性,但能保证函数每一次return都返回适当类型的结果。例如,下面的程序就不能通过编译:
作者:凡程子
出处:http://www.cnblogs.com/fzhe/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【以下内容来自自己的理解】
return的根本作用就是中止当前函数的运行,并将操作权返回给调用者。 如果是在main函数中,表示将操作权返回给操作系统。
return语句可以分为不带返回值和带返回值两种形式。
- 不带返回值——主要用于无返回值的函数
如果函数只是进行了一系列操作,并无返回值,可以定义为void函数,用不带返回值的return结束函数调用。当然,此种情况下也可以不用return语句。 - 带返回值
根据返回值的作用,可以分为两种:
一是返回整型数值,表示函数执行状态,一般返回0表示正确执行,非0表示错误执行。但是,返回值具体代表什么意思,C++标准没有规定,可以自己定义,以便根据函数返回值在后续程序中查询此函数的执行状态。但是,它的根本作用——中止函数执行—— 一直都存在。
二是返回函数运算结果值,具体类型和数值根据函数而定。