亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c++中的類和實例分別存儲在什么地方

c++中的類和實例分別存儲在什么地方

C++
森欄 2018-11-26 12:00:19
c++中的類和實例分別存儲在什么地方
查看完整描述

1 回答

?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

類不會儲存在什么地方,只是告訴程序,如何去創建這個類型的變量、需要多少個字節、以及如何銷毀等等等。
至于實例,也可以說對象,在什么地方,就是我們通常說的堆棧。拋開全局常量區以及靜態存儲區這些不談。
如果你new了一個對象(還有其他的c的分配方式,比如malloc不推薦使用),這種就屬于動態分配內存,分配在堆上。堆相對于棧很大,所以很多時候我們分配在堆上,但也意味著,你需要知道什么時候去銷毀他,所以與delete或delete []成對出現。
Student stu; 類似于這樣的我們沒有使用new的對象就分配在了棧上。他的對象是自己管理的。在 {}函數體中的最后會自動按照棧的后進先出,銷毀對象。所以不需要你去管理對象的內存,但也意味著對象所在的生命周期通常就是一個{}中。

補充,堆除了比??臻g大,它是在程序運行時來分配內存的,比如分配
int * i = new i[ m] ; //m 是在程序運行后,從輸入中得到的數值。
但棧不可以,int i[ m ];//這里必須是常量 const int m = 1000; 在程序編譯的時候,他就必須知道數組有多大。

查看完整回答
反對 回復 2018-12-01
  • 1 回答
  • 0 關注
  • 871 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號