返回类型
无返回值函数:没有返回值的return语句只能用在返回类型是void的函数中。
有返回值函数;return语句的第二种形式提供了函数的结果。只要函数的返回类型不是void,则该函数内的每条return语句必须返回一个值。
返回类型
返回一个值的方式和初始化一个变量或形参的方式完全一样:返回的值用于初始化调用点的一个临时量,该临时量就是函数调用的结果。
返回类型
返回引用类型:返回引用类型,可以在内存中不产生被返回值的副本,返回的是对象本身。
但需要注意:不要返回局部对象的引用的引用或指针。函数完成后,它所占用的存储空间也随之被释放掉。为避免这种问题,我们可以返回一个作为参数传递给函数的引用。
#include <iostream>
#include <string>
using namespace std;
void swap(int &a, int &b);
int max(int a, int b);
int &sum(int a, int b, int &res);
int main()
{
int num1 = 15;
int num2 = 20;
swap(num1, num2);
cout << "num1: " << num1 << endl;
cout << "num2: " << num2 << endl;
int res = max(num1, num2);
cout << "最大值为:" << res << endl;
res = sum(num1, num2, res);
cout << "两个数的和为:" << res << endl;
sum(num1, num2, res)++;
cout << res << endl;
return 0;
}
//没有返回值的函数,可以使用return;
void swap(int &a, int &b)
{
if (a >= b)
{
return;
}
else
{
int temp = a;
a = b;
b = temp;
return;
}
}
//有返回值的函数,每个return语句都必须带有结果。
int max(int a, int b)
{
if (a > b)
{
return a;
}
else
{
return b;
}
}
//返回引用类型
int &sum(int a, int b, int &res)
{
res = a + b;
return res;
}