最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

簡介

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

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

快速記憶方式:

一級緩存比二級緩存快,棧是一個先進后出列表,存取非???,所以棧是在一級緩存中。

棧中不能隨機取數(shù)據(jù),只能取最上面的一個,存放的內(nèi)容必然要有嚴格的存取順序,所以適合函數(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í)行析構函數(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沒有進行處理,會導致內(nèi)存泄露,實際應用中要注意呀
}

輸出結(jié)果:

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

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

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

輸出:

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

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

總結(jié)

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

相關文章

  • C++?STL容器與函數(shù)謂詞示例分析講解

    C++?STL容器與函數(shù)謂詞示例分析講解

    這篇文章主要介紹了C++?STL容器與函數(shù)謂詞示例,STL是“Standard?Template?Library”的縮寫,中文譯為“標準模板庫”。STL是C++標準庫的一部分,不用單獨安裝
    2022-11-11
  • Qt實現(xiàn)SqlTableModel映射組件應用小結(jié)

    Qt實現(xiàn)SqlTableModel映射組件應用小結(jié)

    在Qt中提供了QSqlTableModel模型類,它為開發(fā)者提供了一種直觀的方式來與數(shù)據(jù)庫表格進行交互,本文就來介紹一下Qt實現(xiàn)SqlTableModel映射組件應用小結(jié),感興趣的可以了解一下
    2023-12-12
  • C++中std::find函數(shù)介紹和使用場景

    C++中std::find函數(shù)介紹和使用場景

    std::find函數(shù)是一個非常實用的通用查找算法,適用于各種場景,本文主要介紹了C++中std::find函數(shù)介紹和使用場景,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • C++類和對象深入探索之分文件編寫點和圓的關系詳解

    C++類和對象深入探索之分文件編寫點和圓的關系詳解

    先前把C++類和對象的封裝講完了,并且留下了一個判斷兩個立方體是否相等的案例,但是那么多知識點,僅僅一個案例是不夠的,所以再來一個分文件編寫點圓關系的案例;創(chuàng)建圓類和點類,圓類包含點類,算是一個嵌套吧,順便復習一下分文件編寫的方法,開整
    2022-05-05
  • Qt6+QML實現(xiàn)Windows屏幕錄制功能

    Qt6+QML實現(xiàn)Windows屏幕錄制功能

    Qt6提供了很多豐富的多媒體支持類,本文將為大家詳細介紹一下Qt6如何結(jié)合QML實現(xiàn)Windows屏幕錄制功能,文中的示例代碼簡潔易懂,有需要的小伙伴可以參考一下
    2025-04-04
  • C語言編寫漢諾塔游戲

    C語言編寫漢諾塔游戲

    這篇文章主要介紹了C語言編寫漢諾塔游戲,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-11-11
  • C++依賴倒轉(zhuǎn)原則和里氏代換原則有什么好處

    C++依賴倒轉(zhuǎn)原則和里氏代換原則有什么好處

    設計模式(Design pattern)代表了最佳的實踐,通常被有經(jīng)驗的面向?qū)ο蟮能浖_發(fā)人員所采用。設計模式是軟件開發(fā)人員在軟件開發(fā)過程中面臨的一般問題的解決方案。本篇介紹設計模式七大原則之一的依賴倒轉(zhuǎn)原則
    2023-02-02
  • C++ 冒泡排序數(shù)據(jù)結(jié)構、算法及改進算法

    C++ 冒泡排序數(shù)據(jù)結(jié)構、算法及改進算法

    冒泡排序是一種簡單排序。這種排序是采用“冒泡策略”將最大元素移到最右邊。在冒泡過程中,相鄰兩個元素比較,如果左邊大于右邊的,則進行交換兩個元素。這樣一次冒泡后,可確保最大的在最右邊。然后執(zhí)行n次冒泡后排序即可完畢
    2013-04-04
  • C++實現(xiàn)LeetCode(95.獨一無二的二叉搜索樹之二)

    C++實現(xiàn)LeetCode(95.獨一無二的二叉搜索樹之二)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(95.獨一無二的二叉搜索樹之二),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語言利用鏈表實現(xiàn)學生成績管理系統(tǒng)

    C語言利用鏈表實現(xiàn)學生成績管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言如何利用鏈表實現(xiàn)學生成績管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-11-11

最新評論

滕州市| 金平| 海宁市| 教育| 常宁市| 峨边| 游戏| 淮北市| 嘉荫县| 图们市| 越西县| 宁乡县| 光山县| 安康市| 荥阳市| 仙游县| 卓尼县| 高台县| 宜兰县| 油尖旺区| 通道| 许昌市| 泉州市| 黄平县| 英德市| 武义县| 盐亭县| 逊克县| 扶绥县| 光泽县| 巴青县| 通辽市| 武平县| 台山市| 五大连池市| 阿鲁科尔沁旗| 广宁县| 清镇市| 玉田县| 泰顺县| 修水县|