C物件是存在堆上還是棧上,c的成員變數是在堆還是棧區

2021-03-03 20:39:16 字數 1200 閱讀 4525

1樓:望穿秋水待伊人

棧,就是那bai些由編譯器du

在需要的時候分配,在不需zhi要的時候自dao動清楚專的變數的儲存區。屬裡面的變數通常是區域性變數、函式引數等。

堆,就是那些由new分配的記憶體塊,他們的釋放編譯器不去管,由我們的應用程式去控制,一般一個new就要對應一個delete。如果程式設計師沒有釋放掉,那麼在程式結束後,作業系統會自動**。

明白了吧?

2樓:

a是實復

實在在的物件,制

這種物件是在棧上的。bai如果,你定義du一個指標zhi,這個指標指向一個dao物件。比如

myclass *p = new myclass;那麼p還是在棧上。但是*p 的地址,也就是p的值,就是堆上的一個地址了。

3樓:匿名使用者

存在棧中抄

// func end

// a生命週期結束

bai 交由編譯器釋du放zhi

// 指標 pmyclass 生命週期結束,但dao是new 的myclass 需要手動釋放

c++的成員變數是在堆還是棧區

4樓:幻夢·人生

成員變數並不能決定自身的

儲存空間位置。決定儲存位置的物件的建立方式。

即:如果物件是函式內的非靜態區域性變數,則物件,物件的成員變數儲存在棧區。

如果物件是全域性變數,則物件,物件的成員變數儲存在靜態區。

如果物件是函式內的靜態區域性變數,則物件,物件的成員變數儲存在靜態區。

如果物件是new出來的,則物件,物件的成員變數儲存在堆區。

5樓:匿名使用者

這不是根據這個來分的,這要看你物件本身在哪兒

6樓:風吹過的街道

在main裡面,如果使用了new就是堆區,如果沒有就是棧區

7樓:匿名使用者

是在堆區是在堆區是在堆區是在堆區是在堆區

c++中什麼資料分配在棧或堆中,new分配資料是在近堆還是遠堆中?

8樓:匿名使用者

1,棧: 存放區域性變數,函式呼叫引數,函式返回值,函式返回地址。由系統管理

2,堆: 程式執行時動態申請,new 和 malloc申請的記憶體就在堆上

C 中如何判斷物件是否屬於某個類

c 語言判斷一個物件有兩種機制 在執行時判斷,使用if else int i if typeid i typeid int cout i is int endl else cout i is not int endl 在編譯時判斷,使用過載或者特化 template class t void fun...

相親物件是這樣的,相親物件是這樣的

我想,這個男人很虛偽,奸詐。首先,他的年齡就不對。其次,迷戀網路遊戲。你知道嗎,一般會玩這些遊戲的人,當然,我不是說全部,很多都是在現實生活中不得意又或是有別的什麼原因,在網路裡尋求安慰。你還說他花心,我想他要不就是沒錢,要不就是很小氣。因為上面你說跟他逛山逛了一上午,你表弟來接你他都不請你們吃飯,...

下列屬於民法調整的物件是,民法的調整物件是什麼

你好!應選d選項du。解釋 1.d 選項,國家機zhi關雖為國家機關,但其在dao購買商品之時,與 版賣方同屬與權 平等主體,是一種平等的關係,他們的買賣符合民法調整的範疇。2.a 選項中,公司內部的工作隸屬關係屬於公司法調整的範圍。不屬於民法。3.b 選項中國家與納稅人的稅收關係,顧名思義,是國家...