函数的返回类型
返回指针类型:
函数原型为 : 类型 * 函数名(形参列表);
代码:
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的别名,所以可用对其返回值进行修改,也就是返回引用的函数调用可以作为左值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 让容器管理更轻松!