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

C++存儲(chǔ)方案和動(dòng)態(tài)分配

 更新時(shí)間:2021年12月31日 11:41:31   作者:公眾號(hào):Coder梁(ID:Coder_LT)  
這篇文章主要介紹了C++存儲(chǔ)方案和動(dòng)態(tài)分配,

存儲(chǔ)方案和動(dòng)態(tài)分配

在之前的文章當(dāng)中,我們討論了C++用來(lái)為變量分配內(nèi)存的5種方案,但是這些方案并不適用于使用new運(yùn)算符分配的內(nèi)存,這種內(nèi)存被稱(chēng)為動(dòng)態(tài)內(nèi)存。

我們?cè)谥暗奈恼庐?dāng)中也曾介紹過(guò),動(dòng)態(tài)內(nèi)存由newdelete控制,而不是由作用域和鏈接性規(guī)則控制。所以我們可以在一個(gè)函數(shù)當(dāng)中分配動(dòng)態(tài)內(nèi)存,在另外一個(gè)函數(shù)中釋放。

通常C++編譯器當(dāng)中有三塊獨(dú)立的內(nèi)存,一塊用于靜態(tài)變量,一塊用于自動(dòng)變量,還有一塊用于動(dòng)態(tài)存儲(chǔ)。

雖然存儲(chǔ)方案的概念不適用于動(dòng)態(tài)內(nèi)存,但是適用于動(dòng)態(tài)內(nèi)存的自動(dòng)和靜態(tài)指針。C++ Primer當(dāng)中有這么一個(gè)例子,我們?cè)谝粋€(gè)函數(shù)當(dāng)中有如下語(yǔ)句:

float * p_fees = new float[20];


很明顯,我們通過(guò)new創(chuàng)建了一個(gè)長(zhǎng)度為20的float數(shù)組,這塊數(shù)組的內(nèi)存將會(huì)一直停留在內(nèi)存當(dāng)中,直到使用delete語(yǔ)句釋放。但當(dāng)該函數(shù)運(yùn)行結(jié)束的時(shí)候,p_fees這個(gè)指針將會(huì)消失。如果希望在其他地方能夠使用這個(gè)數(shù)組,需要將地址通過(guò)某種方式返回或者傳遞。

如果我們將p_fees的鏈接性聲明為外部的,那么我們?cè)谄渌胤蕉伎梢栽L問(wèn)到了,如果另外的文件當(dāng)中需要訪問(wèn),也同樣可以使用關(guān)鍵字extern

初始化

前面講了使用new申請(qǐng)內(nèi)存的方法,如果我們想要在分配內(nèi)存的同時(shí)完成變量的初始化,應(yīng)該怎么辦呢?

如果要為內(nèi)置的標(biāo)量類(lèi)型分配空間并初始化,可以在類(lèi)型名后面加上初始值,并將它用括號(hào)括起來(lái):

int *pi = new int(3);
double *pd = new double(99.9);


如果我們要初始化結(jié)構(gòu)體或者是數(shù)組,則需要使用大括號(hào)的列表初始化,這需要編譯器支持C++11,這是C++11中的新特性:

struct P {
    int x, y;
};

P *p = new P{3, 4};
int *arr = new int[4] {2, 3, 4, 5};


在C++11當(dāng)中也支持對(duì)單值變量使用列表初始化:

double *pd = new double(99.99);

到此這篇關(guān)于C++存儲(chǔ)方案和動(dòng)態(tài)分配的文章就介紹到這了,更多相關(guān)C++存儲(chǔ)方案和動(dòng)態(tài)分配內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c語(yǔ)言swap(a,b)值交換的4種實(shí)現(xiàn)方法

    c語(yǔ)言swap(a,b)值交換的4種實(shí)現(xiàn)方法

    c語(yǔ)言swap(a,b)值交換的4種實(shí)現(xiàn)方法,這么好的東西,盡管簡(jiǎn)單,但值得發(fā)表,以此共享。
    2013-02-02
  • C語(yǔ)言fgetc和fputc函數(shù)用法詳解(以字符形式讀寫(xiě)文件)

    C語(yǔ)言fgetc和fputc函數(shù)用法詳解(以字符形式讀寫(xiě)文件)

    這篇文章主要介紹了C語(yǔ)言fgetc和fputc函數(shù)用法詳解(以字符形式讀寫(xiě)文件),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • C語(yǔ)言?模擬實(shí)現(xiàn)memcpy與memmove函數(shù)詳解

    C語(yǔ)言?模擬實(shí)現(xiàn)memcpy與memmove函數(shù)詳解

    這篇文章主要介紹了C語(yǔ)言詳解如何模擬內(nèi)存函數(shù),用到了mencpy與memmove兩個(gè)函數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-04-04
  • C++使用宏函數(shù)實(shí)現(xiàn)單例模板詳解

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

    在我們?nèi)粘i_(kāi)發(fā)中,無(wú)可避免需要使用單例模式進(jìn)行設(shè)計(jì)類(lèi)對(duì)象。這篇文章主要介紹了如何使用宏函數(shù)實(shí)現(xiàn)單例模板,感興趣的小伙伴可以了解一下
    2023-02-02
  • opencv3.0識(shí)別并提取圖形中的矩形的方法

    opencv3.0識(shí)別并提取圖形中的矩形的方法

    這篇文章主要介紹了opencv3.0識(shí)別并提取圖形中的矩形的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 淺談C++的幾種從鍵盤(pán)輸入方式

    淺談C++的幾種從鍵盤(pán)輸入方式

    今天小編就為大家分享一篇淺談C++的幾種從鍵盤(pán)輸入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 使用C++制作GC Server過(guò)程詳解

    使用C++制作GC Server過(guò)程詳解

    這篇文章主要介紹了使用C++制作GC Server過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 從零學(xué)習(xí)構(gòu)造系統(tǒng)之bazel示例詳解

    從零學(xué)習(xí)構(gòu)造系統(tǒng)之bazel示例詳解

    這篇文章主要為大家介紹了從零學(xué)習(xí)構(gòu)造系統(tǒng)之bazel示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • C語(yǔ)言中g(shù)etchar(?)?函數(shù)使用詳解

    C語(yǔ)言中g(shù)etchar(?)?函數(shù)使用詳解

    getchar()?字符輸入函數(shù),沒(méi)有參數(shù),從輸入緩沖區(qū)里面讀取一個(gè)字,需要注意一次只能讀取一個(gè)字符,這篇文章主要介紹了C語(yǔ)言中g(shù)etchar函數(shù)使用詳解,需要的朋友可以參考下
    2022-12-12
  • 如何使用C++獲取指定的重載函數(shù)地址

    如何使用C++獲取指定的重載函數(shù)地址

    重載函數(shù)是完全不同的幾個(gè)函數(shù),有不同的函數(shù)地址,下面這篇文章主要給大家介紹了關(guān)于如何使用C++獲取指定的重載函數(shù)地址的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06

最新評(píng)論

文山县| 宜春市| 神池县| 册亨县| 巫山县| 民和| 金乡县| 稷山县| 万年县| 盐城市| 巩留县| 黑龙江省| 剑川县| 盐边县| 商洛市| 阳西县| 渝北区| 福贡县| 凭祥市| 梅州市| 微山县| 柏乡县| 永嘉县| 吉林市| 唐山市| 安乡县| 敦化市| 台北市| 盐源县| 大安市| 同心县| 巫溪县| 巨野县| 平阳县| 南宁市| 托克托县| 河西区| 阜平县| 团风县| 略阳县| 福州市|