carray 使用不當會產生記憶體碎片,應先呼叫setsize(),但具體怎麼用還不是太清楚,先看**:
執行結果:
1, 0x2bcf58, 0x2bcf98, 2
2, 0x2b9e78, 0x2b9e78, 2
3, 0x2b9ec0, 0x2b9ec0, 80
從以上結果看出,第一種方法未用setsize是錯的,執行arr1.add( 2 )時會重新給第一項分配記憶體,記憶體位址變了(0x2bcf58, 0x2bcf98),第
二、三種方法正確,新增元素時,不重新分配記憶體,記憶體位址不變。
1.setsize(int_ptr nnewsize, int_ptr ngrowby)並不預分配記憶體,在第一次執行add或insertat時分配ngrowby記憶體,用完時再分配ngrowby記憶體。
2. removeall將銷毀已經分配的記憶體,下次呼叫add時再分配。如果頻繁清除時請使用removeat,不會重新分配記憶體。
3.setsize(100,100)之後直接用add就會從101開始存,除非用removeall之後再用add,或者用setat
4.動態實現二維陣列
//carray m_arrayrecordspeed1[10];
//for(int i=0;i<10;i++)
// //for(int i=0;i<10;i++)
// //for(int i=0;i<10;i++)
// //for(int i=0;i<10;i++)
//
mysql三大正規化及資料約束及查詢及儲存過程
資料約束 連線查詢 多表查詢 儲存過程 引數型別 會話變數 變數只在當前連線會中有效 區域性變數 帶有輸入輸出引數的儲存過程 帶有判斷條件的儲存過程 帶有迴圈條件的儲存過程 接收表中的資料的儲存過程 觸發器create table student id int,name varchar 20 gen...
xml及DTD的解析及運用
9月18日 xml的認識 xml是一種標記語言。標記指計算機所能理解的資訊符號,通過此標記,計算機之間可以處理包含各種資訊的文章等,xml用來傳送及攜帶資料資訊,不用來表現或展示資料,html 語言則是用來表示資料,所以 xml用途的焦點是它說明資料是什麼,以及攜帶資料資訊。xml定義結構,儲存資訊...
預設樣式重置及及display轉換
body,p,h1,h2,h3,h4,h5,h6,dl,dd ol,ul aimg 注意 一般先清除預設樣式 display 塊元素 內嵌元素 inline block 塊元素 eg,block 1 預設獨佔一行 2 沒有寬度時,預設撐滿一排 3 支援所有css命令 內嵌元素eg,inline 1 ...