欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

c++中堆棧及創(chuàng)建對象示例代碼

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

簡介

棧(stack),先進后出,位于一級緩存中,操作系統(tǒng)自動分配釋放 ,存放函數(shù)的參數(shù)值,局部變量的值等,被調(diào)用時處于存儲空間中,調(diào)用完畢立即釋放。

堆(heap),堆包含一個鏈表來維護已用和空閑的不連續(xù)的內(nèi)存塊,存放在二級緩存中,一般由程序員分配釋放。

快速記憶方式:

一級緩存比二級緩存快,棧是一個先進后出列表,存取非??欤詶J窃谝患壘彺嬷?。

棧中不能隨機取數(shù)據(jù),只能取最上面的一個,存放的內(nèi)容必然要有嚴(yán)格的存取順序,所以適合函數(shù)調(diào)用時的形參、局部變量。

??臻g有限,一般PC一級緩存就幾M,所以其中的數(shù)據(jù)也是快速使用,快速刪除。像形參、局部變量,在函數(shù)調(diào)用結(jié)束系統(tǒng)就會把數(shù)據(jù)主動銷毀了。

堆空間大,由程序員維護,系統(tǒng)不會主動銷毀。

示例代碼如下:

#include <iostream>

using namespace std;

class TestNew
{
private:
  int ID;
public:
  TestNew(int ID);
  ~TestNew();
};

TestNew::TestNew(int ID)
{
  this->ID = ID;
}

TestNew::~TestNew()
{
  std::cout<<"對象 "<<this->ID<<" 執(zhí)行析構(gòu)函數(shù)"<<std::endl;
}
void Test()
{
  TestNew test(1);//創(chuàng)建對象1,不使用new,存儲在棧中
  TestNew *pTest = new TestNew(2);//創(chuàng)建對象2,使用new,存儲在堆中
  //delete pTest;
}

int main()
{
  Test();//這個地方有點問題,pTest沒有進行處理,會導(dǎo)致內(nèi)存泄露,實際應(yīng)用中要注意呀
}

輸出結(jié)果:

對象 1 執(zhí)行析構(gòu)函數(shù)

說明函數(shù)調(diào)用結(jié)束,對象1被系統(tǒng)主動銷毀了。

如果把Test()方法中,delete前的注釋去掉。

輸出:

對象 2 執(zhí)行析構(gòu)函數(shù)

對象 1 執(zhí)行析構(gòu)函數(shù)

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

上一篇:C++ Qt屬性系統(tǒng)詳細(xì)介紹

欄    目:C語言

下一篇:C++ 單鏈表的基本操作(詳解)

本文標(biāo)題:c++中堆棧及創(chuàng)建對象示例代碼

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/1952.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有