91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++的array有什么作用

發布時間:2021-08-10 16:44:43 來源:億速云 閱讀:193 作者:chen 欄目:大數據

這篇文章主要講解了“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有什么作用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

来宾市| 绥芬河市| 丹寨县| 从化市| 海盐县| 曲水县| 衡山县| 白水县| 都匀市| 马山县| 西乌珠穆沁旗| 海安县| 高邮市| 宣汉县| 青河县| 湾仔区| 台前县| 噶尔县| 贵溪市| 清水县| 紫云| 通河县| 自治县| 和林格尔县| 雷波县| 潢川县| 灵宝市| 靖安县| 温州市| 九江市| 枞阳县| 区。| 东兰县| 辽阳市| 融水| 黎平县| 宝山区| 旬邑县| 长子县| 青铜峡市| 全椒县|