c++提供了new和delete來管理動態記憶體空間
new有兩個操作:在堆區申請記憶體空間,在分配的記憶體空間構造物件
delete兩個操作:呼叫析構函式銷毀物件,**記憶體
例:string *p=new string[10];//構造了10個空類
而有的時候我們不會把這些空間都使用完,這樣就產生了額外的物件構造成本,allocator類就是將記憶體分配和物件構造分離。allocator有四個函式,allocate(記憶體分配)、construct(建構函式)、destroy(物件銷毀)、deallocate(記憶體釋放)
例: allocator alloc;
string * p=alloc.allocate(n);
alloc.construct(p,」hello」);
alloc.construct(p+1,」world」);
alloc.destroy(p+1);
alloc.destroy(p);
alloc.deallocate(p,n);
C 類空間大小
可以先看下這篇博文 c 虛函式和虛函式表原理,對類內部空間的排布會有了解,對於本文的理解也會很有幫助。與類大小有關的因素 普通成員變數,虛函式,繼承 單一繼承,多重繼承,重複繼承,虛擬繼承 與類大小無關的因素 靜態成員變數,靜態成員函式及普通成員函式 空類即什麼都沒有的類,按上面的說法,照理說大小應...
jboss中不同war包間共享類空間
jboss中不同應用之間如何共享類和資源 通常如果希望在jboss不同應用之間共享類和資源,我們應將類和資源放在jboss server default lib 下面,這樣所有的應用可以共享資源 jboss中如果類和和資源放在不同的war包中,卻想在不同的應用間何共享war包中web inf cla...
STL空間配置
sgi stl有兩級配置器 以下 為簡單實現 第一級配置器標頭檔案 malloc alloc.h ifndef malloc alloc h define malloc alloc h include class malloc alloc static void deallocate void p,...