欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2016年12月06日 10:37:33   投稿:daisy  
這篇文章主要給大家詳細(xì)介紹了c++如何實(shí)現(xiàn)堆棧及創(chuàng)建對(duì)象,文中先進(jìn)行了簡(jiǎn)單的介紹,而后給出了詳細(xì)的示例代碼及注釋?zhuān)嘈艑?duì)大家的理解和學(xué)習(xí)很有幫助,有需要的朋友們下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。

簡(jiǎn)介

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

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

快速記憶方式:

一級(jí)緩存比二級(jí)緩存快,棧是一個(gè)先進(jìn)后出列表,存取非??欤詶J窃谝患?jí)緩存中。

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

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

堆空間大,由程序員維護(hù),系統(tǒng)不會(huì)主動(dòng)銷(xiāo)毀。

示例代碼如下:

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

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

輸出結(jié)果:

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

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

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

輸出:

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

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

總結(jié)

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

相關(guān)文章

  • C++大數(shù)模板(推薦)

    C++大數(shù)模板(推薦)

    本篇文章是對(duì)C++大數(shù)模板的程序代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 使用c++11 constexpr時(shí)遇到的坑詳解

    使用c++11 constexpr時(shí)遇到的坑詳解

    c++11 constexpr將變量聲明為constexpr類(lèi)型以便由編譯器來(lái)驗(yàn)證變量是否是一個(gè)常量表達(dá)式,這篇文章主要給大家介紹了關(guān)于使用c++11 constexpr時(shí)遇到的坑,需要的朋友可以參考下
    2021-05-05
  • C語(yǔ)言將日期、時(shí)間保存到文本文件中的方法

    C語(yǔ)言將日期、時(shí)間保存到文本文件中的方法

    這篇文章主要給大家介紹了關(guān)于C語(yǔ)言將日期、時(shí)間保存到文本文件中的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C語(yǔ)言具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 64位linux 編譯c提示gnu/stubs-32.h:No such file or directory的解決方法

    64位linux 編譯c提示gnu/stubs-32.h:No such file or directory的解決方法

    這篇文章主要介紹了64位linux 編譯c提示gnu/stubs-32.h:No such file or directory的解決方法,需要的朋友可以參考下
    2020-03-03
  • C++超詳細(xì)講解RTTI和cast運(yùn)算符的使用

    C++超詳細(xì)講解RTTI和cast運(yùn)算符的使用

    RTTI(Runtime Type Identification)是“運(yùn)行時(shí)類(lèi)型識(shí)別”的意思。C++引入這個(gè)機(jī)制是為了讓程序在運(yùn)行時(shí)能根據(jù)基類(lèi)的指針或引用來(lái)獲得該指針或引用所指的對(duì)象的實(shí)際類(lèi)型,cast強(qiáng)制轉(zhuǎn)換運(yùn)算符是一種特殊的運(yùn)算符,它把一種數(shù)據(jù)類(lèi)型轉(zhuǎn)換為另一種數(shù)據(jù)類(lèi)型
    2022-08-08
  • C語(yǔ)言實(shí)現(xiàn)掃雷游戲詳解(附源碼)

    C語(yǔ)言實(shí)現(xiàn)掃雷游戲詳解(附源碼)

    大家好,本篇文章主要講的是C語(yǔ)言實(shí)現(xiàn)掃雷游戲詳解(附源碼),感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • C語(yǔ)言中函數(shù)參數(shù)的入棧順序詳解及實(shí)例

    C語(yǔ)言中函數(shù)參數(shù)的入棧順序詳解及實(shí)例

    這篇文章主要介紹了C語(yǔ)言中函數(shù)參數(shù)的入棧順序詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • c++實(shí)現(xiàn)堆排序的示例代碼

    c++實(shí)現(xiàn)堆排序的示例代碼

    本文主要介紹了c++實(shí)現(xiàn)堆排序的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • C++模板 index_sequence使用示例詳解

    C++模板 index_sequence使用示例詳解

    這篇文章主要為大家介紹了C++模板 index_sequence使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • C語(yǔ)言實(shí)現(xiàn)個(gè)人財(cái)務(wù)管理軟件

    C語(yǔ)言實(shí)現(xiàn)個(gè)人財(cái)務(wù)管理軟件

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)個(gè)人財(cái)務(wù)管理軟件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評(píng)論