这个函数是不是返回引用

韦伊 2011-10-11 09:45:32
CAlarmStatus& CAlarmStatus::Instance()
{
static CAlarmStatus ref;
return ref;
}

对引用理解的不是很透彻,不确定调用这样的函数是不是返回CAlarmStatus类的一个对象的引用?函数返回值CAlarmStatus&是不是说明返回的是CAlarmStatus对象的一个复制?
...全文
112 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
AndyZhang 2011-10-11
  • 打赏
  • 举报
回复
就是引用
leehow1989 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lclwjl 的回复:]

意思是返回值类型为CAlarmStatus& 的,那么返回的值就是CAlarmStatus对象的另一个名称,其实还是原来对象的本身,地址一样?
[/Quote]
地址一样
景荣1 2011-10-11
  • 打赏
  • 举报
回复
++++可以帮助楼主理解引用[Quote=引用 5 楼 roy_smiling 的回复:]

引用的本质是常量指针的说。
[/Quote]
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lclwjl 的回复:]

意思是返回值类型为CAlarmStatus& 的,那么返回的值就是CAlarmStatus对象的另一个名称,其实还是原来对象的本身,地址一样?
[/Quote]
你可以试试,看看引用和其所指的对象,地址是否一致
景荣1 2011-10-11
  • 打赏
  • 举报
回复
不涉及复制[Quote=引用 2 楼 lclwjl 的回复:]

函数体里面的这部分我理解,就是函数返回类型CAlarmStatus&(类后面有一个引用符号)这一部分不是特别确定是不是返回类CAlarmStatus&的一个对象的复制?
[/Quote]
韦伊 2011-10-11
  • 打赏
  • 举报
回复
意思是返回值类型为CAlarmStatus& 的,那么返回的值就是CAlarmStatus对象的另一个名称,其实还是原来对象的本身,地址一样?
韦伊 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 leehow1989 的回复:]
引用就是变量的另一个名字啊,返回的就是ref本身,没有复制
[/Quote]意思是返回值类型为CAlarmStatus& 的,那么返回的值就是CAlarmStatus对象的另一个名称,其实还是原来对象的本身,地址一样?
Roy_Smiling 2011-10-11
  • 打赏
  • 举报
回复
引用的本质是常量指针的说。
leehow1989 2011-10-11
  • 打赏
  • 举报
回复
引用就是变量的另一个名字啊,返回的就是ref本身,没有复制
PG 2011-10-11
  • 打赏
  • 举报
回复
是 ~~
韦伊 2011-10-11
  • 打赏
  • 举报
回复
函数体里面的这部分我理解,就是函数返回类型CAlarmStatus&(类后面有一个引用符号)这一部分不是特别确定是不是返回类CAlarmStatus&的一个对象的复制?
昵称很不好取 2011-10-11
  • 打赏
  • 举报
回复
返回引用,没有复制,这个static一直存在

64,662

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧