此篇隨筆將示范array容器的基本操作
1.介紹
array容器在C++普通陣列的基礎上,添加了一些函式,在使用上,它比普通陣列更安全,
2.頭檔案及命名空間
1 #include<array> 2 using namespace std;
3.舉例
array<double,10> arr;//宣告一個裝有10個double型元素的陣列容器,容器名為arr
4.初始化
1 //array容器不會像普通陣列那樣進行默認初始化 2 array<int,10> arr01 {};//全部初始化為0 3 array<int,10> arr02 {1,2,3};//前三個元素初始化為1,2,3, 其他元素初始化為0
//上述初始化可以加等號,但是務必注意必須顯性初始化,異于普通陣列的默認初始化
5.遍歷
//法1 陣列名[下標] #include<iostream> #include<array> using namespace std; int main(){ array<int,10> arr {1,3,5,7,9,2,4,6,8,10}; for (size_t i = 0; i < arr.size(); i++) { cout<<arr[i]<<' '; } return 0; }
//法2 迭代器 #include<iostream> #include<array> using namespace std; int main(){ array<int,10> arr {1,3,5,7,9,2,4,6,8,10}; // for (array<int,10>::iterator it = arr.begin(); it != arr.end(); it++) // { // cout<<*it<<' '; // } for (auto it = arr.begin(); it != arr.end(); it++) { cout<<*it<<' '; } return 0; }
6.快速求和:accumulate()函式
使用accumulate()函式實作陣列快速求和
#include<iostream> #include<array> #include<numeric>//accumulate函式 using namespace std; array<int,10> arr {1,3,5,7,9,2,4,6,8,10}; int main(){ cout<<accumulate(arr.begin(),arr.end(),0);//第三個引數相當于int sum = 0 的初始值0 return 0; } //輸出:55 //若把第三個引數改為3,那么輸出將會是58(55+3=58).
7.size()函式
//獲取容器內元素的個數 #include<iostream> #include<array> using namespace std; array<int,10> arr={1,3,5,7,9,2,4,6,8,10}; int main(){ cout<<"arr內元素個數為:"<<arr.size()<<endl; return 0; } //輸出:arr內元素個數為:10
8.empty()函式
//若容器為空則回傳真 #include<iostream> #include<array> using namespace std; array<int,0> arr;//第二個引數為0,容器為空 int main(){ if (arr.empty()) { cout<<"arr is empty"<<endl; } return 0; } //輸出:arr is empty
9.fill()函式
//給所有元素初始化為特定值 #include<iostream> #include<array> using namespace std; array<int,5> arr; int main(){ arr.fill(-1); for (size_t i = 0; i < arr.size(); i++) { cout<<arr[i]<<" "; } return 0; } //輸出:-1 -1 -1 -1 -1
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/543993.html
標籤:其他
上一篇:day10-1-中文亂碼處理
下一篇:SpringMVC
