vector動態申請記憶體然後釋放

2021-07-07 10:14:14 字數 471 閱讀 2380

在.h檔案的類宣告外面定義

typedef struct _selectitemsinfo

select, *pselect; 

在.h檔案的類中宣告std::vectorm_pvecselect; //儲存結構體指標到vector   注意一定要有std::不然後報錯

然後在.cpp檔案中使用

pselectitemsinfo selet= new select;

selet->strguid = l"ddd";

selet->strpath = l"dddddd";

m_pvecselect.push_back(selet);

最後vector生命週期結束的時候使用下面****記憶體。

std::vector::iterator it;

for (it = m_pvecselect.begin(); it != m_pvecselect.end(); it++)

動態申請記憶體

如果函式的引數是乙個指標,不要指望用該指標去申請動態記憶體。示例1中,test函式的語句getmemory str,100 並沒有使str獲得期望的記憶體,str依舊是null,為什麼?void getmemory char p,int num void test void 示例1 試圖用指標引數申...

malloc動態申請記憶體

1 malloc概述 malloc num 動態申請num位元組的記憶體空間,函式申請成功返回記憶體的起始位址 void型 申請不成功返回null指標,malloc不初始化記憶體空間 calloc type,num 函式會初始化申請的記憶體空間為0 使用完申請的記憶體後需要用free p 釋放記憶體...

vector利用swap 函式進行記憶體的釋放

首先,vector與deque不同,其記憶體占用空間只會增長,不會減小。比如你首先分配了10,000個位元組,然後erase掉後面9,999個,則雖然有效元素只有乙個,但是記憶體占用仍為10,000個。所有空間在vector析構時 1 釋放記憶體 empty 是用來檢測容器是否為空的,clear 可...