c++函数返回值类型是否为引用的比较
//program 4.5.3.1.cpp 引用作为函数返回值 #include <iostream> #define TURN_Reference 1/*修改为0,则检验的是返回值为非引用类型的情况*/ using namespace std; int n = 4; /*预编译处理的语句不要有过多的花括号*/ #if TURN_Reference int & SetValue() { return n; //返回对n的引用 } #else int SetValue() { return n; } #endif int main() { SetValue() = 40; /*返回值是引用的函数调用表达式,可以作为左值使用;例如此处SetValue(),它就是一个类型为int& 的(变量)的引用,它的值被重新赋值为40后,setValue()==40;如果SetValue()返回的是int(是个常量值,同时不能够作为右值给引用作初始化),即,它是非引用类型,那么就不能够象SetValue()作为表达式左值 */ cout << n << endl; //输出 40 int & r = SetValue();/*用SetValue()来初始化新定义的int&类型的引用r;r也将=40;*/ cout << r << endl; //输出 40 return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2022-07-31 java_查询从控制台输入的字符的ASCII码值(每行一个,-1结束)