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

C++之內(nèi)存分區(qū)的實(shí)現(xiàn)示例

 更新時(shí)間:2024年03月25日 16:28:52   作者:wszswllnzn_  
本文主要介紹了C++之內(nèi)存分區(qū)的實(shí)現(xiàn)示例,主要包含了4個(gè)區(qū)域,分為代碼區(qū),全局區(qū),棧區(qū)和堆區(qū),文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

C++程序在執(zhí)行時(shí),將內(nèi)存大方向劃分為4個(gè)區(qū)域

1.代碼區(qū):存放函數(shù)體的二進(jìn)制代碼,由操作系統(tǒng)進(jìn)行管理;
2.全局區(qū):存放全局變量和靜態(tài)變量以及常量;
3.棧區(qū):由編譯器自動(dòng)分配釋放, 存放函數(shù)的參數(shù)值,局部變量等;
4.堆區(qū):由程序員分配和釋放,若程序員不釋放,程序結(jié)束時(shí)由操作系統(tǒng)回收。

C++中主要利用new在堆區(qū)開(kāi)辟內(nèi)存,堆區(qū)開(kāi)辟的數(shù)據(jù),由程序員手動(dòng)開(kāi)辟,手動(dòng)釋放,釋放利用操作符 delete。

利用new創(chuàng)建的數(shù)據(jù),會(huì)返回該數(shù)據(jù)對(duì)應(yīng)的類型的指針

例如:

int* func()//返回int指針的函數(shù)
{
	int* a = new int(10);
	return a;
}

int main() {
	int *p = func();
	cout << *p << endl;
	//利用delete釋放堆區(qū)數(shù)據(jù)
	delete p;//要記得釋放??!
	//cout << *p << endl; //報(bào)錯(cuò),釋放的空間不可訪問(wèn)
	system("pause");
	return 0;
}

new的釋放:

delete p;//p不是數(shù)組變量
delete[] p;//p是數(shù)組

棧區(qū)的數(shù)據(jù)由編譯器釋放,因此函數(shù)中的局部變量不能作為地址或者引用返回

//錯(cuò)誤示范1:
int * func()
{
	int a = 10;
//若是用static把局部變量變?yōu)殪o態(tài)變量,則可以用
//static int a =10;
	return &a;
}
int main() {
	int *p = func();
	cout << *p << endl;
	system("pause");
	return 0;
}


//錯(cuò)誤示范2:
/返回局部變量引用
int& test01() {
	int a = 10; //局部變量
//若是用static把局部變量變?yōu)殪o態(tài)變量,則可以用
//static int a =10;
	return a;
}
int main()
{
	//不能返回局部變量的引用
	int& ref = test01();
	cout << "ref = " << ref << endl;
}

正確使用函數(shù)中局部變量作為值返回
例如:

#include <iostream>
using namespace std;

int test01() {
    int a = 10; //局部變量
	return a;
}
int main() {

	int ref = test01();
	cout << "ref = " << ref << endl;
}

到此這篇關(guān)于C++之內(nèi)存分區(qū)的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)C++ 內(nèi)存分區(qū)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Opencv透視變換綜合實(shí)例詳解

    Opencv透視變換綜合實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了Opencv透視變換綜合實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • C++使用宏函數(shù)實(shí)現(xiàn)單例模板詳解

    C++使用宏函數(shù)實(shí)現(xiàn)單例模板詳解

    在我們?nèi)粘i_(kāi)發(fā)中,無(wú)可避免需要使用單例模式進(jìn)行設(shè)計(jì)類對(duì)象。這篇文章主要介紹了如何使用宏函數(shù)實(shí)現(xiàn)單例模板,感興趣的小伙伴可以了解一下
    2023-02-02
  • C++使用opencv調(diào)用級(jí)聯(lián)分類器來(lái)識(shí)別目標(biāo)物體的詳細(xì)流程

    C++使用opencv調(diào)用級(jí)聯(lián)分類器來(lái)識(shí)別目標(biāo)物體的詳細(xì)流程

    所謂級(jí)聯(lián)分類器其實(shí)就是把分類器按照一定的順序聯(lián)合到一起,下面這篇文章主要給大家介紹了關(guān)于C++使用opencv調(diào)用級(jí)聯(lián)分類器來(lái)識(shí)別目標(biāo)物體的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • C++如何在變量前面加#

    C++如何在變量前面加#

    這篇文章主要介紹了C++如何在變量前面加#問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C++計(jì)數(shù)排序詳解

    C++計(jì)數(shù)排序詳解

    計(jì)數(shù)排序的思想我們之前接觸過(guò)的例如:插入排序,歸并排序,快速排序,堆排序等都是基于集合元素之間的比較這一基本的思想,它們執(zhí)行的時(shí)間復(fù)雜度最優(yōu)是趨于O(nlgn),而計(jì)數(shù)排序的運(yùn)行機(jī)制不是基于集合元素之間的大小比較
    2016-04-04
  • Linux中利用c語(yǔ)言刪除某個(gè)目錄下的文件

    Linux中利用c語(yǔ)言刪除某個(gè)目錄下的文件

    這篇文章主要給大家介紹了Linux中利用c語(yǔ)言刪除某個(gè)目錄下文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Qt之實(shí)現(xiàn)圓形進(jìn)度條的示例代碼

    Qt之實(shí)現(xiàn)圓形進(jìn)度條的示例代碼

    在平時(shí)做頁(yè)面開(kāi)發(fā)時(shí),有些時(shí)候會(huì)用到圓形進(jìn)度條,本文主要介紹了Qt之實(shí)現(xiàn)圓形進(jìn)度條的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • C++ 微信多開(kāi)的實(shí)現(xiàn)

    C++ 微信多開(kāi)的實(shí)現(xiàn)

    本文主要介紹了C++ 微信多開(kāi)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C++遍歷磁盤(pán)驅(qū)動(dòng)器的示例代碼

    C++遍歷磁盤(pán)驅(qū)動(dòng)器的示例代碼

    這篇文章主要介紹了C++遍歷磁盤(pán)驅(qū)動(dòng)器的示例代碼,幫助大家更好的理解和使用c++,感興趣的朋友可以了解下
    2021-01-01
  • C++面試之你知道有哪些可執(zhí)行體嗎

    C++面試之你知道有哪些可執(zhí)行體嗎

    可執(zhí)行體其實(shí)也叫可調(diào)用對(duì)象,這也是面試常常會(huì)考到的問(wèn)題,這篇文章就來(lái)和大家詳細(xì)講講C++中的可執(zhí)行體,感興趣的小伙伴可以了解一下
    2023-06-06

最新評(píng)論

松原市| 东莞市| 沙坪坝区| 永德县| 淮滨县| 阳西县| 临邑县| 阳谷县| 嘉荫县| 上饶县| 治县。| 遂平县| 衡山县| 锡林浩特市| 翁牛特旗| 通辽市| 台南县| 城口县| 林口县| 海晏县| 防城港市| 潜江市| 涿鹿县| 利川市| 东乌珠穆沁旗| 临澧县| 奇台县| 荆州市| 乌鲁木齐县| 日喀则市| 甘南县| 南丹县| 宜兰县| 远安县| 灌阳县| 香港 | 汾阳市| 广宁县| 疏附县| 宿迁市| 璧山县|