動態陣列new allocate

2021-07-05 05:20:26 字數 1773 閱讀 2666

int *pia = new

int[get_size()];//pia指向第乙個int

typedef

int arrt[42];//arrt表示42個int的陣列型別

int *p = new arrt;//p指向第乙個int

分配乙個陣列會得到乙個元素型別的指標

初始化動態分配物件的陣列

int *pia1 = new

int[10]; //10個未初始化的int

int *pia2 = new

int[10](); //10個值初始化為0的int

string *pia3 = new

string[10]; //10個空的string

string *pia4 = new

string[10](); //10個空的string

int *pia = new

int[10];//剩下元素使用值初始化

動態分配乙個空陣列是合法的
char arr[0];//錯誤:不能定義長度為零的陣列

char* arr = new

char[0];//正確,但arr不能解引用,因為它不指向任何元素

釋放動態陣列

delete p;//p指向乙個動態分配的物件或為空

delete pa;//pa必須為乙個動態分配的陣列或空

typedef

int arrt[42];//arrt表示42個int的陣列型別

int *p = new arrt;//p指向第乙個int

delete p;

智慧型指標和動態陣列
unique_ptr up(new

int[10]);//up指向乙個包含10個未初始化int的陣列

up.releasr();//自動用delete銷毀其指標

for(size_t i =o;i != 10; ++i)
for(size_t i =o;i != 10; ++i)
allocate類
allocate alloc; //可以分配string的allocator物件

auto

const p = alloc.allocate(n); //分配n個未初始化的string

allocatora

a.allocate(n)

a.deallocate(p,n)

a.construct(p,args)

a.destroy(p)

p為t*型別的指標,此演算法對p指向的物件執行析構函式

allocator分配為構造的記憶體

拷貝和填充未初始化記憶體的演算法

uninitialized_copy(b,e,b2)

uninitialized_fill(b,e,t)

uninitialized_fill(b,n,t)

vba 陣列(動態陣列)

主要內容 本文章主要介紹vba中,陣列的使用,特別介紹動態陣列的使用,並有簡單事例,幫助理解。陣列是我們經常用到的儲存資料的一種媒介,他到底是什麼呢?陣列是具有相同資料型別並且共享乙個名字的一組變數的集合。通俗的說,陣列是變數。陣列的宣告 可以用dim語句或者public語句生命陣列。如 dim p...

陣列與動態陣列

int main other element will be set as the default value 2.get length int size sizeof a1 sizeof a1 cout the size of a1 is size endl 3.access element co...

動態陣列型別

在win32平台,動態陣列變數佔4位元組記憶體,包含乙個指向動態分配陣列的指標。當變數為空 未初始化 或者指向乙個長度為0的陣列時,指標值為nil且沒有與變數相關的動態記憶體。的對於非空的陣列,變數指向乙個動態分配的記憶體塊,包含額外的32位長度標示和32位引用計數。下表顯示了動態陣列記憶體塊的層次...