vector的新增刪除 含動態記憶體釋放

2021-06-25 17:30:56 字數 798 閱讀 7444

背景:

c++的容器類vector操作功能強大,在實際的專案開發階段應用此功能動態管理物件

問題:1. 動態申請

2. 新增到容器中

3. 通過迭代器獲取物件

4. 刪除容器中的物件

5. 清除物件實際的快取(防止洩露)

其中前4步都沒有問題,操作一切正常,到第5步時候發現不知道如果清除物件,從網上找到好多例程執行起來不是報錯就是無法刪除,最後經過自己的分析找到了其中的原因,特拿出來分享,請看**

//容器物件及快取內容定義

vector vlist = new new vector();

char *pt = null;

//新增4個字串陣列

pt = new char[5];

strcpy(pt, "1234");

vlist->push_back(pt);

pt = new char[5];

strcpy(pt, "2345");

vlist->push_back(pt);

pt = new char[5];

strcpy(pt, "3456");

vlist->push_back(pt);

pt = new char[5];

strcpy(pt, "4567");

vlist->push_back(pt);

//準備刪除

for(;vlist->size()>0;)

delete vlist;

vector順序容器的新增與刪除

vector順序容器的新增與刪除 順序容器內的位置按其位置儲存和訪問,元素的排列順序與元素值無關,而是由 元素新增到容器的次序所決定 include stdafx.h include include 重要的標頭檔案 include using namespace std 以下型別都是在std命名空間...

動態製作新增 刪除

動態新增 刪除text 一 編寫程式 dim with.events mytextbox as vb.textbox private sub command1 click dim mytextbox as vb.textbox set mytextbox me.controls.add vb.tex...

動態新增 刪除class樣式

取與設定樣式 獲取class和設定class都可以使用attr 方法來完成。例如使用attr 方法來獲取p元素的class,jquery 如下 如下 var p class p attr class 獲取p元素的class html 使用attr 方法來設定p元素的class,jquery 如下 c...