您好,登錄后才能下訂單哦!
這篇文章主要講解了“C++的array有什么作用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++的array有什么作用”吧!
我們先來看一下怎么樣使用array。
使用array,首先需要在代碼中包含頭文件:
#include <array>
由于array是標準庫里面的類,所以需要指明命名空間:
using std:array;
或直接在array前指明命名空間:
std::array..
下面我們在看一下怎么定義array對象。直接上示例代碼吧,
#include<array>
using std::array;
int main(){
std::array<int, 3> a1{ {1, 2, 3} };
std::array<int, 3> a2 = {1, 2, 3};
std::array<std::string, 2> a3 = { std::string("a"), "b" };
}
從上面的例子中,我們可以明顯看見array與vector定義的不同。array定義時需要指定容器的大小,且與容器中實際的元素個數匹配。其他基本與vector相同。與vector一樣,array也有元素訪問的一些操作,而且基本與vector一致,直接放上示例代碼吧:
//array Demo
#include <iostream>
#include <array>
using std::array;
int main()
{
array<int, 4> arr1 = { 1, 2, 3, 4 };
std::cout << arr1.at(2) << std::endl;
std::cout << arr1[2] << std::endl;
std::cout << arr1.front() << std::endl;
std::cout << arr1.back() << std::endl;
std::cout << arr1.data() << std::endl;
std::cout << *arr1.data() << std::endl;
return 0;
}
看上面的代碼,是不是跟我們上一篇文章寫的vector一樣?
下面我們再看一下array的迭代器,還是先上代碼吧,很多時候,代碼顯得更加親切:
...
array<int, 4> arr1 = { 1, 2, 3, 4 };
for (auto i = arr1.begin(); i != arr1.end(); ++i)
std::cout << *i << std::endl;
for (auto i = arr1.cbegin(); i != arr1.cend(); ++i)
std::cout << *i << std::endl;
for (auto i = arr1.rbegin(); i != arr1.rend(); ++i)
std::cout << *i << std::endl;
...
上面我們可以看出前兩對迭代器跟vector的一樣,不再細說。這里補充一下說rbegin,rend。其實,vector中也是有這兩對獲取迭代器的方法的,昨天文章遺漏了,正好今天補充一下。
rbegin與rend中的r其含義是reverse(反向的),這兩個方法其實就是返回反向的迭代器,所有rbegin其實就是獲取array的末尾迭代器,rend就是獲取array的其實迭代器,實現了逆向遍歷,這樣看來是不是操作array或者vector更加方便了呢?
除此以外,array也有容量相關的一些操作函數,還是先上代碼吧:
std::cout << arr1.empty() << std::endl;
std::cout << arr1.size() << std::endl;
std::cout << arr1.max_size() << std::endl;
感謝各位的閱讀,以上就是“C++的array有什么作用”的內容了,經過本文的學習后,相信大家對C++的array有什么作用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。