问问题描述
C++类编译好后,成员变量存储在什么位置,跪求万能的网友,帮帮我!
答精选答案

如果没有使用类定义对象,那么就没有成员变量。
classA定义成员变量Aobj, obj临时变量在栈空间里面,所以他的成员变量也在栈空间A*pobj= new A(); pobj指向的对象在堆空间里,所以他的成员变量在堆空间。你上面说的代码区指的是.text区吧?
.text是编译好的机器代码,只有这么写 obj.a 得到A的成员变量 a的值,这时.text里面才会有成员变量的机器代码。当然具体存储在什么位置 看2.3
本文来自作者[鸿星尔克总部在哪里]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/changshijingxuan/202609/634495.html
评论列表(4条)
我是公众科技网的签约作者“鸿星尔克总部在哪里”!
希望本篇文章《C++类编译好后,成员变量存储在什么位置》能对你有所帮助!
本站[公众科技网]内容主要涵盖:教育咨询,知识百科
本文概览:如果没有使用类定义对象,那么就没有成员变量。classA定义成员变量Aobj, obj临时变量在栈空间里面,所以他的成员变量也在栈空间A*pobj= new A(); pobj指向的对象在堆空间里,所以他的成员变量在堆空间。你上面说的代码区指的是.text区吧?.text是编译好的机器代码,只有这么写 obj.a 得到A的成员变量 a的值,这时.text里面才会有成员变量的机器代码。当然具体存储在什么位置 看2.3