C++的引用类型的变量到底占不占用内存空间
5个回答
2017-10-25
展开全部
占用是肯定的,只是可能不是像该对象那么多的空间
~~~~~~~~~~~~
~~~~~~~~~~~~~
~~~~~~~~~~~~~~~
~~
~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~~
~~~~~~~~~~~~~~~
~~
~~~~~~~~~~~~~~~~~~~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要占用一个指针的空间,本质是一个匿名的指针。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
跟指针类型一样的分配单元呀,存放的是一个地址,本质就是一个指针呀。但阻止你去改变这个地址。看我的360博文“C++引用类型黑技术”文章。我可以任意操作、改变这个地址。还告诉你为什么。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
引用变量也会占用一个整形的空间,与指针不同的是,引用变量用一个别名指代对象,而指针是存放一块内存地址的变量。
在这种概念下,对指向同一个对象的指针和引用变量分别做取地址操作,会发现指针取到的内存地址是一个与对象完全不同的地址,证明指针是有一个独立内存存放的。引用变量却取到了和对象相同的地址,但是这并不足以证明引用变量不消耗内存,从设计概念上看,引用变量是完全指代被引用的对象的。之后我们把代码编译后,通过对应的汇编码可以看到,引用变量和被引用对象,在内存中分别开辟了两块地址,表达方式和指针完全相同,充分证明了引用变量也是要占一块内存的,取址操作得到相同地址是因为对引用变量做的想关于对象的所有操作,都会映射到被引用的对象上,引用变量在语法设计上更愿意让开发者认为这就是同一个东西。
在这种概念下,对指向同一个对象的指针和引用变量分别做取地址操作,会发现指针取到的内存地址是一个与对象完全不同的地址,证明指针是有一个独立内存存放的。引用变量却取到了和对象相同的地址,但是这并不足以证明引用变量不消耗内存,从设计概念上看,引用变量是完全指代被引用的对象的。之后我们把代码编译后,通过对应的汇编码可以看到,引用变量和被引用对象,在内存中分别开辟了两块地址,表达方式和指针完全相同,充分证明了引用变量也是要占一块内存的,取址操作得到相同地址是因为对引用变量做的想关于对象的所有操作,都会映射到被引用的对象上,引用变量在语法设计上更愿意让开发者认为这就是同一个东西。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询