C++函数——返回类型

    无返回值函数: 没有返回值的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 = 12;
    int num2 = 50;
    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;
}

猜你喜欢

转载自blog.csdn.net/xiaokunzhang/article/details/80978006