函数的返回类型

返回指针类型:

函数原型为 : 类型 * 函数名(形参列表);

代码:

复制代码
include<iostream>
using namespace std;
int *max(int *, int *);
int main()
{
int a, b;
cout << "please input a and b:" << endl;
cin >> a >> b;
cout << "the maximun of a and b is " << *max(&a, &b) << endl;  //此处的*max(&a,&b)表示,先调用。数返回a和b的中较大的变量的地址,再用*进行访问
system("pause");
}
int *max(int *x, int *y)     //接收指针类型做参数
{
if (*x > *y)   
{
return x;         //返回指针
}
return y;
}
复制代码

返回引用类型:
c++函数返回引用类型时,不需创建临时变量来存储返回值。

代码:

复制代码
#include<iostream>
#include<cstring>
using namespace std;
int a, b;
int & count(int);
int main()
{
    int x;
    cout << "Input numbers,the 0 is end : \n";
    cin >> x;
    while (x)
    {
        count(x)++;
        cin >> x;
    }
    cout << "the number of right: " << a << endl;
    cout << "the number of negative: " << b << endl;
    system("pause");
}
int & count(int n)
{
    if (n > 0)
    {
        return a;
    }
    return b;
}
复制代码

分析:在此代码中,由于a,b在main()函数前声明,所以是全局变量,对整个代码可见,所以count函数可以返回a和b的引用。在main函数中,因为count函数返回的是引用,相当于返回了变量a或者b的别名,所以可用对其返回值进行修改,也就是返回引用的函数调用可以作为左值。

 

posted @   裏表異体  阅读(448)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示