0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C++學(xué)習(xí)筆記之內(nèi)存3

jf_78858299 ? 來(lái)源:阿Q正磚 ? 作者:阿Q正磚 ? 2023-03-17 10:15 ? 次閱讀

19、內(nèi)存池的作用及其實(shí)現(xiàn)方法

內(nèi)存池是一種常見(jiàn)的內(nèi)存管理技術(shù),它的作用是提高內(nèi)存的利用率,減少內(nèi)存碎片,以及提高內(nèi)存分配和釋放的效率。

內(nèi)存池的實(shí)現(xiàn)方法一般有兩種:

  1. 預(yù)分配固定大小的內(nèi)存塊,當(dāng)需要分配內(nèi)存時(shí),從內(nèi)存池中取出一個(gè)已經(jīng)分配好的內(nèi)存塊,使用完之后再將其歸還到內(nèi)存池中。
  2. 動(dòng)態(tài)分配內(nèi)存,但是將內(nèi)存分為大小相等的塊,當(dāng)需要分配內(nèi)存時(shí),從內(nèi)存池中取出一個(gè)大小合適的內(nèi)存塊,使用完之后再將其歸還到內(nèi)存池中。

這兩種方法的優(yōu)缺點(diǎn)如下:

  1. 預(yù)分配固定大小的內(nèi)存塊:

優(yōu)點(diǎn):* 分配和釋放內(nèi)存非常快,因?yàn)閮?nèi)存塊的大小是固定的。

  • 可以避免內(nèi)存碎片的問(wèn)題,因?yàn)閮?nèi)存塊的大小是固定的,不會(huì)出現(xiàn)大小不一的內(nèi)存塊。

缺點(diǎn):* 浪費(fèi)空間,因?yàn)轭A(yù)分配的內(nèi)存塊可能并不全部被使用,這些未使用的內(nèi)存塊就浪費(fèi)了。

  • 不夠靈活,因?yàn)閮?nèi)存塊的大小是固定的,如果某些對(duì)象需要更大或更小的內(nèi)存塊,就需要重新設(shè)計(jì)內(nèi)存池的大小和結(jié)構(gòu)。
  1. 動(dòng)態(tài)分配內(nèi)存:

優(yōu)點(diǎn):* 更靈活,因?yàn)閮?nèi)存塊的大小可以根據(jù)需要?jiǎng)討B(tài)調(diào)整。

  • 更節(jié)省空間,因?yàn)橹环峙湫枰膬?nèi)存塊。

缺點(diǎn):* 分配和釋放內(nèi)存較慢,因?yàn)樾枰獎(jiǎng)討B(tài)分配和回收內(nèi)存。

  • 可能會(huì)出現(xiàn)內(nèi)存碎片的問(wèn)題,因?yàn)閮?nèi)存塊的大小不固定,容易出現(xiàn)大小不一的內(nèi)存塊,造成內(nèi)存碎片。

20、如何構(gòu)造一個(gè)類(lèi),使得只能在堆上或者在棧上分配內(nèi)存?

構(gòu)造一個(gè)類(lèi),使得只能在堆上或者在棧上分配內(nèi)存,可以通過(guò)重載 newdelete 運(yùn)算符來(lái)實(shí)現(xiàn)。

對(duì)于棧上分配內(nèi)存,可以重載 newdelete 運(yùn)算符,并將 new 運(yùn)算符重載為返回地址。

對(duì)于堆上分配內(nèi)存,可以使用 placement new 運(yùn)算符手動(dòng)調(diào)用構(gòu)造函數(shù),并將返回的指針作為類(lèi)的指針。在堆上分配內(nèi)存時(shí),需要重載 newdelete 運(yùn)算符來(lái)調(diào)用 mallocfree 進(jìn)行內(nèi)存分配和釋放。同時(shí),需要使用類(lèi)的 placement new 運(yùn)算符來(lái)調(diào)用構(gòu)造函數(shù),以確保對(duì)象被正確初始化,并在析構(gòu)時(shí)調(diào)用類(lèi)的析構(gòu)函數(shù)。

下面是一個(gè)示例代碼,演示如何將類(lèi)的內(nèi)存分配限制為堆上或者棧上:

#include 
#include 
#include 


class MyClass {
public:
    // 重載 new 運(yùn)算符,只允許在堆上分配內(nèi)存
    void* operator new(std::size_t size) {
        void* ptr = std::malloc(size);
        if (!ptr) {
            throw std::bad_alloc();
        }
        return ptr;
    }


    // 重載 delete 運(yùn)算符,釋放在堆上分配的內(nèi)存
    void operator delete(void* ptr) {
        std::free(ptr);
    }


    // 重載 placement new 運(yùn)算符,只允許在棧上分配內(nèi)存
    void* operator new(std::size_t size, void* ptr) {
        return ptr;
    }


    // 構(gòu)造函數(shù)
    MyClass() {
        std::cout << "MyClass constructor
";
    }


    // 析構(gòu)函數(shù)
    ~MyClass() {
        std::cout << "MyClass destructor
";
    }
};


int main() {
    // 在堆上分配內(nèi)存
    MyClass* p1 = new MyClass();
    delete p1;


    // 在棧上分配內(nèi)存
    alignas(MyClass) char buffer[sizeof(MyClass)];
    MyClass* p2 = new(buffer) MyClass();
    p2->~MyClass();

    return 0;
}

在上面的示例代碼中,operator newoperator delete 運(yùn)算符被重載,以限制內(nèi)存分配在堆上。同時(shí),使用了 placement new 運(yùn)算符,手動(dòng)調(diào)用構(gòu)造函數(shù),以便在棧上分配內(nèi)存。

21、物理內(nèi)存和虛擬內(nèi)存的原理和區(qū)別分別是什么?

物理內(nèi)存是指計(jì)算機(jī)中實(shí)際存在的內(nèi)存,它由硬件組成,是直接可見(jiàn)的。而虛擬內(nèi)存是操作系統(tǒng)提供的一種機(jī)制,它將計(jì)算機(jī)的硬盤(pán)空間作為內(nèi)存的一部分來(lái)使用,使得程序可以訪(fǎng)問(wèn)比物理內(nèi)存更大的內(nèi)存空間。

物理內(nèi)存的原理是通過(guò)內(nèi)存條等硬件設(shè)備將數(shù)據(jù)存儲(chǔ)在RAM中,它的訪(fǎng)問(wèn)速度非???。當(dāng)物理內(nèi)存不足時(shí),操作系統(tǒng)會(huì)將一部分內(nèi)存中的數(shù)據(jù)轉(zhuǎn)移到硬盤(pán)空間中,這就是虛擬內(nèi)存的原理。虛擬內(nèi)存將硬盤(pán)空間中的一部分作為內(nèi)存空間來(lái)使用,通過(guò)虛擬內(nèi)存地址與物理內(nèi)存地址之間的映射關(guān)系,使得程序可以訪(fǎng)問(wèn)比物理內(nèi)存更大的內(nèi)存空間。

物理內(nèi)存和虛擬內(nèi)存的區(qū)別主要有以下幾點(diǎn):

  • 大小不同:物理內(nèi)存的大小受限于計(jì)算機(jī)硬件的配置,而虛擬內(nèi)存的大小受限于硬盤(pán)的空間大小。
  • 訪(fǎng)問(wèn)速度不同:物理內(nèi)存的訪(fǎng)問(wèn)速度非??欤摂M內(nèi)存的訪(fǎng)問(wèn)速度相對(duì)較慢。
  • 內(nèi)存管理方式不同:物理內(nèi)存由操作系統(tǒng)直接管理,而虛擬內(nèi)存則是由操作系統(tǒng)和硬件一起管理的。
  • 分配方式不同:物理內(nèi)存的分配是靜態(tài)的,一般在啟動(dòng)時(shí)就已經(jīng)分配好了,而虛擬內(nèi)存的分配是動(dòng)態(tài)的,操作系統(tǒng)會(huì)根據(jù)需要?jiǎng)討B(tài)地分配虛擬內(nèi)存。

22、C++中變量的存儲(chǔ)位置?程序的內(nèi)存分配?

在C++中,變量的存儲(chǔ)位置可以分為以下幾種:

  • 棧(stack):用于存儲(chǔ)函數(shù)的局部變量和參數(shù)等。當(dāng)函數(shù)被調(diào)用時(shí),局部變量和參數(shù)等被分配在棧上,當(dāng)函數(shù)返回時(shí),這些變量就會(huì)被自動(dòng)銷(xiāo)毀。
  • 堆(heap):用于動(dòng)態(tài)分配內(nèi)存,比如new、malloc等函數(shù)分配的內(nèi)存就位于堆上。需要手動(dòng)管理內(nèi)存的生命周期,使用完后需要調(diào)用delete或free等函數(shù)來(lái)釋放內(nèi)存,否則就會(huì)發(fā)生內(nèi)存泄漏。
  • 全局區(qū)(data segment):用于存儲(chǔ)全局變量、靜態(tài)變量和常量等。這些變量的生命周期從程序開(kāi)始到程序結(jié)束,它們位于程序的數(shù)據(jù)段中,內(nèi)存由系統(tǒng)自動(dòng)管理。
  • 代碼區(qū)(code segment):用于存儲(chǔ)程序的代碼。

程序的內(nèi)存分配是由操作系統(tǒng)負(fù)責(zé)的,每個(gè)進(jìn)程都有自己的地址空間,這個(gè)地址空間包括代碼區(qū)、數(shù)據(jù)區(qū)和堆棧區(qū)。當(dāng)程序需要分配內(nèi)存時(shí),操作系統(tǒng)會(huì)在進(jìn)程的地址空間中為其分配一塊空閑的內(nèi)存。虛擬內(nèi)存是一種將主存看作磁盤(pán)存儲(chǔ)器擴(kuò)展的技術(shù),它可以將硬盤(pán)空間當(dāng)作主存來(lái)使用。操作系統(tǒng)會(huì)將一部分主存空間作為虛擬內(nèi)存,當(dāng)程序需要分配內(nèi)存時(shí),操作系統(tǒng)會(huì)將一部分虛擬內(nèi)存映射到主存中,程序就可以使用這些虛擬內(nèi)存了。如果程序需要更多的內(nèi)存,操作系統(tǒng)會(huì)將其余的虛擬內(nèi)存映射到硬盤(pán)上,這樣程序就可以繼續(xù)使用虛擬內(nèi)存了,這就是虛擬內(nèi)存的原理。

物理內(nèi)存是計(jì)算機(jī)中實(shí)際存在的內(nèi)存,它是由硬件提供的,而虛擬內(nèi)存則是由操作系統(tǒng)提供的一種擴(kuò)展內(nèi)存的技術(shù),它利用硬盤(pán)空間來(lái)擴(kuò)展主存空間,從而使得計(jì)算機(jī)可以運(yùn)行更多的程序和更大的程序。在操作系統(tǒng)看來(lái),虛擬內(nèi)存和物理內(nèi)存是兩個(gè)不同的概念,它們之間的區(qū)別在于虛擬內(nèi)存是一種抽象的概念,而物理內(nèi)存是實(shí)際存在的硬件。

23、靜態(tài)內(nèi)存分配和動(dòng)態(tài)內(nèi)存分配的區(qū)別?

  • 靜態(tài)內(nèi)存分配是指在程序編譯期間,由編譯器在編譯期間為變量分配內(nèi)存,這些內(nèi)存空間在程序運(yùn)行期間一直存在,直到程序結(jié)束才會(huì)被釋放。靜態(tài)內(nèi)存分配適用于一些固定大小、生命周期長(zhǎng)、不需要頻繁創(chuàng)建和釋放的變量,如全局變量和靜態(tài)局部變量等。靜態(tài)內(nèi)存分配的內(nèi)存大小在編譯時(shí)確定,因此不能動(dòng)態(tài)調(diào)整內(nèi)存大小。
  • 動(dòng)態(tài)內(nèi)存分配是指在程序運(yùn)行期間,根據(jù)需要?jiǎng)討B(tài)地為變量分配內(nèi)存。動(dòng)態(tài)內(nèi)存分配由程序員手動(dòng)管理,需要使用new操作符申請(qǐng)內(nèi)存,使用delete操作符釋放內(nèi)存。動(dòng)態(tài)內(nèi)存分配適用于生命周期不確定、大小不固定、需要頻繁創(chuàng)建和釋放的變量。動(dòng)態(tài)內(nèi)存分配的優(yōu)勢(shì)是可以動(dòng)態(tài)調(diào)整內(nèi)存大小,但需要程序員自行管理內(nèi)存分配和釋放,如果不當(dāng)使用可能會(huì)造成內(nèi)存泄漏和內(nèi)存溢出等問(wèn)題。

總之,靜態(tài)內(nèi)存分配和動(dòng)態(tài)內(nèi)存分配在不同的場(chǎng)景下有各自的優(yōu)勢(shì)和劣勢(shì),程序員需要根據(jù)實(shí)際情況選擇合適的內(nèi)存分配方式。

24、什么是段錯(cuò)誤?什么時(shí)候發(fā)生段錯(cuò)誤?

段錯(cuò)誤(Segmentation fault)是指程序試圖訪(fǎng)問(wèn)非法的內(nèi)存地址,或試圖對(duì)沒(méi)有寫(xiě)權(quán)限的內(nèi)存地址進(jìn)行寫(xiě)操作時(shí)產(chǎn)生的錯(cuò)誤。它是一種常見(jiàn)的運(yùn)行時(shí)錯(cuò)誤,通常由于指針操作不當(dāng)或者動(dòng)態(tài)內(nèi)存分配不當(dāng)?shù)仍蛞稹?/p>

具體來(lái)說(shuō),當(dāng)程序訪(fǎng)問(wèn)一個(gè)未映射的地址、非法地址、只讀地址或已釋放的地址,或者當(dāng)程序試圖使用空指針訪(fǎng)問(wèn)內(nèi)存時(shí),就會(huì)觸發(fā)段錯(cuò)誤。

除此之外,還有一些其他的原因也會(huì)導(dǎo)致段錯(cuò)誤,比如堆棧溢出、緩沖區(qū)溢出等。

在出現(xiàn)段錯(cuò)誤時(shí),操作系統(tǒng)會(huì)發(fā)送一個(gè)信號(hào)(SIGSEGV)給進(jìn)程,導(dǎo)致程序崩潰或者被操作系統(tǒng)殺死。為了避免段錯(cuò)誤的發(fā)生,開(kāi)發(fā)人員需要注意程序中所有指針和內(nèi)存操作的合法性,確保程序不會(huì)訪(fǎng)問(wèn)非法地址或已釋放的地址。另外,對(duì)于動(dòng)態(tài)內(nèi)存的分配和釋放,也需要謹(jǐn)慎處理,防止出現(xiàn)內(nèi)存泄漏或者重復(fù)釋放等問(wèn)題。

25、內(nèi)存塊太小導(dǎo)致malloc和new返回空指針,該怎么處理?

當(dāng)我們調(diào)用mallocnew分配內(nèi)存時(shí),如果請(qǐng)求的內(nèi)存塊大小過(guò)大,超過(guò)了系統(tǒng)可用的內(nèi)存空間,則會(huì)返回一個(gè)空指針。同樣地,如果請(qǐng)求的內(nèi)存塊大小過(guò)小,系統(tǒng)也無(wú)法為其分配足夠的內(nèi)存空間,也會(huì)導(dǎo)致返回空指針。這個(gè)空指針表示系統(tǒng)無(wú)法滿(mǎn)足我們的內(nèi)存請(qǐng)求。因此,我們需要在代碼中對(duì)此進(jìn)行處理,以確保程序的健壯性和穩(wěn)定性。

針對(duì)內(nèi)存塊太小的情況,我們可以考慮減小內(nèi)存塊的分配單位或者增加可用內(nèi)存大小。比如,可以將分配單位改為字節(jié)級(jí)別,或者增加系統(tǒng)可用的物理內(nèi)存或虛擬內(nèi)存空間。

當(dāng)然,如果我們確定程序需要的內(nèi)存大小是有限的,可以考慮預(yù)先分配一定的內(nèi)存池或緩存池,以避免內(nèi)存塊太小的問(wèn)題。此外,如果程序只需要在某些特定的場(chǎng)景下使用內(nèi)存,可以通過(guò)惰性初始化等方式來(lái)避免在程序啟動(dòng)時(shí)分配大量的內(nèi)存空間。

26、你知道程序可執(zhí)行文件的結(jié)構(gòu)嗎?

  • 頭部信息:包含文件格式、目標(biāo)平臺(tái)、入口點(diǎn)地址等信息。
  • 代碼段:存放程序的指令集,包括可執(zhí)行代碼和只讀數(shù)據(jù),通常是機(jī)器指令的二進(jìn)制表示。
  • 數(shù)據(jù)段:存放程序的靜態(tài)變量和全局變量,包括可讀寫(xiě)數(shù)據(jù)和只讀數(shù)據(jù),通常是程序中定義的變量和常量。
  • 棧:存放函數(shù)的局部變量和函數(shù)調(diào)用的上下文信息,以及函數(shù)參數(shù)等信息。棧的大小在程序運(yùn)行時(shí)動(dòng)態(tài)變化,通常由操作系統(tǒng)或者運(yùn)行時(shí)庫(kù)進(jìn)行管理。
  • 堆:存放動(dòng)態(tài)分配的內(nèi)存,由程序通過(guò)malloc或new等操作進(jìn)行申請(qǐng)和釋放。

在不同的操作系統(tǒng)和編譯器下,程序可執(zhí)行文件的結(jié)構(gòu)可能會(huì)有所不同,但通常包含以上幾個(gè)部分。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    2952

    瀏覽量

    73748
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7581

    瀏覽量

    135639
  • C++
    C++
    +關(guān)注

    關(guān)注

    21

    文章

    2090

    瀏覽量

    73419
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    647

    瀏覽量

    32745
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C++學(xué)習(xí)筆記之內(nèi)存1

    內(nèi)存泄漏是指程序在動(dòng)態(tài)分配內(nèi)存后,未釋放或者未能完全釋放該內(nèi)存空間的情況。這樣會(huì)導(dǎo)致內(nèi)存不斷被占用,進(jìn)而導(dǎo)致程序性能下降、甚至崩潰等問(wèn)題。
    的頭像 發(fā)表于 03-17 10:16 ?1162次閱讀

    C++學(xué)習(xí)筆記之內(nèi)存2

    內(nèi)存泄漏是指程序在動(dòng)態(tài)分配內(nèi)存后,未釋放或者未能完全釋放該內(nèi)存空間的情況。這樣會(huì)導(dǎo)致內(nèi)存不斷被占用,進(jìn)而導(dǎo)致程序性能下降、甚至崩潰等問(wèn)題。
    的頭像 發(fā)表于 03-17 10:16 ?1065次閱讀

    如何學(xué)習(xí)C++,如何學(xué)好C++

    最近,很多學(xué)員都給我發(fā)郵件問(wèn)我應(yīng)該如何學(xué)習(xí)C++,如何學(xué)好C++?那么作為一個(gè)從C語(yǔ)言小白摸爬滾打、入坑無(wú)數(shù)到成長(zhǎng)為如今的高級(jí)C++游戲開(kāi)發(fā)
    發(fā)表于 08-20 06:27

    學(xué)習(xí)C++的方法以及C++的就業(yè)方向

    學(xué)習(xí)方向:嵌入式+人工智能嵌入式是一門(mén)技術(shù)學(xué)習(xí)目標(biāo)1.嵌入式開(kāi)發(fā)概述;(面向?qū)ο笤谇度胧介_(kāi)發(fā)中角色)2.嵌入式Linux C++編程;(C++概述、
    發(fā)表于 12-24 07:32

    C++內(nèi)存泄漏

    C++內(nèi)存分配與釋放均由用戶(hù)代碼自行控制,靈活的機(jī)制有如潘多拉之盒,即讓程序員有了更廣的發(fā)揮空間,也產(chǎn)生了代代相傳的內(nèi)存泄漏問(wèn)題。對(duì)于新手來(lái)說(shuō),最常
    發(fā)表于 09-15 17:39 ?16次下載

    程序設(shè)計(jì)之內(nèi)存管理

    使用C語(yǔ)言編程時(shí),關(guān)于程序設(shè)計(jì)之內(nèi)存管理。
    發(fā)表于 05-20 17:01 ?0次下載

    C++語(yǔ)言學(xué)習(xí)提綱

    C++語(yǔ)言學(xué)習(xí)提綱
    發(fā)表于 12-30 14:50 ?0次下載

    C++“指針”學(xué)習(xí)建議

    C++“指針”學(xué)習(xí)建議
    發(fā)表于 03-31 15:53 ?3次下載

    C++內(nèi)存泄漏分析方法

    C++是一種非常流行的計(jì)算機(jī)編程語(yǔ)言,在使用的過(guò)程中容易出現(xiàn)內(nèi)存泄漏問(wèn)題,而該問(wèn)題往往難以識(shí)別。給出了一種對(duì)C++內(nèi)存泄漏問(wèn)題進(jìn)行分析的方法,該方法得到
    發(fā)表于 11-23 11:19 ?5次下載
    <b class='flag-5'>C++</b><b class='flag-5'>內(nèi)存</b>泄漏分析方法

    嵌入式系統(tǒng)編程之內(nèi)存操作學(xué)習(xí)

    嵌入式系統(tǒng)編程之內(nèi)存操作學(xué)習(xí) 1.數(shù)據(jù)指針 在嵌入式系統(tǒng)的編程中,常常要求在特定的內(nèi)存單元讀寫(xiě)內(nèi)容,匯編有對(duì)應(yīng)的MOV指令,而除C/C++
    發(fā)表于 09-08 18:11 ?334次閱讀

    C++內(nèi)存管理技術(shù)的詳細(xì)資料說(shuō)明

    內(nèi)存管理是C++最令人切齒痛恨的問(wèn)題,也是C++最有爭(zhēng)議的問(wèn)題,C++高手從中獲得了更好的性能,更大的自由,c++菜鳥(niǎo)的收獲則是一遍一遍的檢
    發(fā)表于 03-14 08:00 ?4次下載

    Linux C/C++ 學(xué)習(xí)路線(xiàn)

    一、秋招 Linux C/C++ offer 情況二、Linux C/C++ 方向的一些思考三、計(jì)算機(jī)基礎(chǔ)知識(shí)的梳理四、C++ 方向的深入
    發(fā)表于 11-06 19:36 ?14次下載
    Linux <b class='flag-5'>C</b>/<b class='flag-5'>C++</b> <b class='flag-5'>學(xué)習(xí)</b>路線(xiàn)

    C++學(xué)習(xí)筆記c++的基本認(rèn)識(shí)

    自這篇文章我們即將開(kāi)始C++的奇幻之旅,其內(nèi)容主要是讀C++ Primer的總結(jié)和筆記,有興趣可以找原版書(shū)看看,對(duì)于學(xué)習(xí)C++還是有很大幫助
    的頭像 發(fā)表于 03-17 13:57 ?680次閱讀

    C++學(xué)習(xí)筆記之順序容器

    C++中的順序容器是一種用于存儲(chǔ)和管理元素序列的數(shù)據(jù)結(jié)構(gòu)。它們提供了一組有序的元素,并支持在序列的任意位置插入和刪除元素。C++標(biāo)準(zhǔn)庫(kù)中提供了多種順序容器,包括vector、deque、list、forward_list和array。
    的頭像 發(fā)表于 05-11 17:05 ?541次閱讀

    C++內(nèi)存管理問(wèn)題

    寫(xiě)服務(wù)端的,內(nèi)存是一個(gè)繞不過(guò)的問(wèn)題,而用C++寫(xiě)的,這個(gè)問(wèn)題就顯得更嚴(yán)重。進(jìn)程的內(nèi)存持續(xù)上漲,有可能是正常的內(nèi)存占用,也有可能是內(nèi)存碎片,而
    的頭像 發(fā)表于 11-13 11:13 ?575次閱讀
    <b class='flag-5'>C++</b><b class='flag-5'>內(nèi)存</b>管理問(wèn)題