C++类内存是如何分配的??

今天听完老师将java的类内存分配,我想知道C++的类内存是如何分配的?比如我建了一个A类,主函数里面写Atemp(),是不是也是象Java一样temp是一个A类型变量,... 今天听完老师将java的类内存分配,我想知道C++的类内存是如何分配的?
比如我建了一个A类,主函数里面写A temp(),是不是也是象Java一样temp是一个A类型变量,放在栈内存里面,里面放着所指向的A类对象属性的堆内寸?还是在栈内存里面直接建立一个A变量temp,里面放着对象的属性?或者是其他的,我C++学的不多,希望明白
展开
 我来答
帐号已注销
2014-03-12 · TA获得超过3954个赞
知道大有可为答主
回答量:1636
采纳率:77%
帮助的人:1236万
展开全部
1.全局变量:在main函数调用前在静态数据区分配内存,程序运行结束后回收内存。

2.局部变量:
static局部变量:在第一次执行到该变量的定义位置时,在静态数据区分配内存。
非static 局部变量: 在程序运行到定义处时在栈上分配内存,运行到包含该变量定义的最内语句块的结束的时候回收内存。

3.堆对象: 执行到new运算符时分配内存,执行到delete时回收内存。

4.线程局部对象: 这个比前面3种复杂,这里就不说了。

C++中的每个对象名都直接指称对象本身,不是Java中的“引用", 名字是与对象紧密联系在一起的。判断一个对象在那个内存区域分配通常可以根据该对象名声明的位置来决定。

A tem(); 这样的语句通常会被编译器认为是函数声明,而不是定义变量。正确的是 A tem;, 这条语句定义了一个对象tem,并在栈上分配了内存。
wwylele
2014-03-12 · TA获得超过2523个赞
知道小有建树答主
回答量:1037
采纳率:0%
帮助的人:1091万
展开全部
直接将这个对象(所以成员数据)放到栈里
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4c4b33e6be3
2014-03-12
知道答主
回答量:41
采纳率:0%
帮助的人:26.8万
展开全部
可以用NEW函数分配 也可以用malloc函数分配内存
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式