免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: go_hao
打印 上一主题 下一主题

[C++] 引用变量占用内存空间吗? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2011-09-08 21:37 |只看该作者
本帖最后由 幻の上帝 于 2011-09-08 21:41 编辑
回复  幻の上帝

所以我一直想避免说它是否占空间……  而是说它有大小……
比如5楼的例子, 那些局部变 ...
OwnWaterloo 发表于 2011-09-08 21:23


可能各人理解的意思有点不一样……不过我还是倾向于照字面理解。
说它占空间,或者说具有存储,是不强调究竟占内存还是占寄存器的……(register不也是算storage class specifier么。)这样就没问题了吧。
总结:
引用可以占空间,只不过没法通过常规访问对象的方式对它的内容进行操作,但可以包装成对象后转换类型来绕过这个限制;
占了空间的引用和对象一样可能从内存中被优化掉放到寄存器中;
对于某些引用可能在编译期确定它自身的内容,那么运行时就不占空间(不算代码段之类)。

论坛徽章:
0
22 [报告]
发表于 2011-09-08 21:44 |只看该作者
回复 8# captivated


神乐打着小花伞的那集。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
23 [报告]
发表于 2011-09-08 21:55 |只看该作者
回复 21# 幻の上帝

总结全部同意。
那么, "引用是否占空间" 与 ISO 中的 unspecified 又如何理解?
我的感觉就是说了等于没说……

论坛徽章:
0
24 [报告]
发表于 2011-09-08 22:07 |只看该作者
回复 1# go_hao


    引用就是别名,其实都指向一个东西,不占内存。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP