C 11 新增容器 array

2021-10-16 12:50:29 字數 1627 閱讀 6394

array 容器是

c++11 標準中新增的序列容器,簡單地理解,它就是在 c++ 普通陣列的基礎上,新增了一些成員函式和全域性函式。

array是將元素置於乙個固定陣列中加以管理的容器。

array可以隨機訪問元素,支援索引值直接訪問, 用操作符或at()方法對元素進行操作,也可以使用迭代器訪問

不支援動態的新增刪除操作

array可以完全替代c語言中的陣列,使運算元組元素更加安全!

#include

array採用模板類實現,array物件的預設構造形式

arrayarrayt;    //t為儲存的型別, 為數值型模板引數

//建構函式

arraya1;     //乙個存放5個int的array容器

arraya2;   //乙個存放6個float的array容器

arraya3; //乙個存放7個student的array容器

a1.fill(666); //玩法二 用特定值填充array中所有元素

arraytest=;// 玩法三 定義時使用初始化列表

arraytest;

test=;   //玩法四 定義後使用列表重新賦值

arraya1,a2;

a1=;

a2 = a1; //玩法五,賦值運算

a1.swap(a2);  //玩法六  和其它array進行交換

array.size();    //返回容器中元素的個數

array.empty();       //判斷容器是否為空,逗你玩的,永遠為 false

array.max_size();   //返回容器中最大元素的個數,同size()。

第一  使用下標操作 a1[0] = 100;

第二  使用at 方法 如: a1.at(2) = 100;

第三  介面返回的引用 a1.front() 和 a1.back() 

注意:第一和第二種方式必須注意越界

array.begin();          返回容器中第乙個資料的迭代器。

array.end();           返回容器中最後乙個資料之後的迭代器。

array.rbegin();         返回容器中倒數第乙個元素的迭代器。

array.rend();  返回容器中倒數最後乙個元素的後面的迭代器。

array.cbegin();         返回容器中第乙個資料的常量迭代器。

array.cend();          返回容器中最後乙個資料之後的常量迭代器。

array.crbegin();        返回容器中倒數第乙個元素的常量迭代器。

array.crend();          返回容器中倒數最後乙個元素的後面的常量迭代器。

arrayarrayint = ;

//順序輸出  1 2 3 4 5

for(array::iterator it=arrayint .begin(); it!=arrayint .end(); ++it)

C 11智慧型指標處理Array物件

c 11的中有一整套智慧型指標,完全可以避免寫手動的delete 但是它預設使用delete刪除物件,如果是陣列物件,需要指定自定義的刪除方法,支援delete std shared ptr int p newint 10 int p 或者使用helper std shared ptr int p ...

C 11智慧型指標處理Array物件

c 11的中有一整套智慧型指標,完全可以避免寫手動的delete 但是它預設使用delete刪除物件,如果是陣列物件,需要指定自定義的刪除方法,支援delete std shared ptr int p newint 10 int p 或者使用helper std shared ptr int p ...

C 11智慧型指標處理Array物件

c 11的中有一整套智慧型指標,完全可以避免寫手動的delete 但是它預設使用delete刪除物件,如果是陣列物件,需要指定自定義的刪除方法,支援delete std shared ptr p new int 10 int p 或者使用helper std shared ptr p new int...