日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++ array学习

發布時間:2023/12/1 c/c++ 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++ array学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考資料:
cppreference.com

本文代碼:
本文源碼

arrayvector的區別是array是和C++中的數組類似,不能動態改變數組大小,所以會比vector少很多函數。

目錄

    • 隱式定義的成員函數
      • 1.operator= (將另一個容器拷貝過來)
    • 元素訪問
      • 2.at (訪問指定元素,進行下標檢查)
      • 3.operator[] (訪問指定元素,可能出現訪問越界)
      • 4.front (訪問第一個元素)
      • 5.back (訪問最后一個元素)
      • 6.data (返回數組第一個元素的地址指針)
    • 迭代器
      • 7.begin/cbegin (返回指向容器第一個元素的迭代器 /常量迭代器)
      • 8.end/cend(返回指向容器尾端的迭代器/常量迭代器)
      • 9.rbegin/rcbegin(返回指向容器最后一個元素的迭代器/常量迭代器)
      • 10.cend/crend (返回指向容器前端的逆向迭代器/常量迭代器)
    • 容量
      • 11.empty (判斷容器是否為空)
      • 12.size (返回容器當前元素個數)
      • 13.max_size (返回容器可容納的最大元素個數)
    • 操作
      • 14.fill (以指定值填充容器 )
      • 15.swap (交換兩個容器的內容)

隱式定義的成員函數

1.operator= (將另一個容器拷貝過來)

array<int,3> vec; array<int,3> tempVec; //vec:1 2 3 //tempVec:4 5 6 vec = tempVec; //vec:4 5 6 //tempVec:4 5 6

元素訪問

2.at (訪問指定元素,進行下標檢查)

arr.at(site);

3.operator[] (訪問指定元素,可能出現訪問越界)

arr[site];

4.front (訪問第一個元素)

//arr:1 2 3 4 5 arr.front(); // 1

5.back (訪問最后一個元素)

//arr:1 2 3 4 5 arr.back(); // 5

6.data (返回數組第一個元素的地址指針)

//返回第一個元素的地址 arr.data() ; //返回第一個元素的值 *arr.data();

迭代器

7.begin/cbegin (返回指向容器第一個元素的迭代器 /常量迭代器)

//打印第二個元素 auto ite = tempArr.begin(); std::cout << *++ite << std::endl;//打印第一個元素 auto cIte = tempArr.cbegin(); std::cout << *cIte << std::endl;

8.end/cend(返回指向容器尾端的迭代器/常量迭代器)

//打印倒數第一個元素 auto ite = tempArr.end(); std::cout << *--ite << std::endl;//順序打印tempArr for (auto cIte = tempArr.begin(); cIte != tempArr.cend(); ++cIte) {std::cout << *cIte << " "; }

9.rbegin/rcbegin(返回指向容器最后一個元素的迭代器/常量迭代器)

//打印倒數第二個元素 auto ite = tempArr.rbegin(); std::cout << *++ite << std::endl;//打印最后一個元素 auto cIte = tempArr.crbegin(); std::cout << *cIte << std::endl;

10.cend/crend (返回指向容器前端的逆向迭代器/常量迭代器)

//打印第一個元素 auto ite = tempArr.rend(); std::cout << *--ite << std::endl;//逆序打印tempArr for (auto cIte = tempArr.rbegin(); cIte != tempArr.crend(); ++cIte) {std::cout << *cIte << " "; }

容量

11.empty (判斷容器是否為空)

bool empty() if (arr.empty()) {std::cout << "arr為空!\n";}else {std::cout << "arr不為空!\n";}

12.size (返回容器當前元素個數)

arr.size();

13.max_size (返回容器可容納的最大元素個數)

因為array是固定大小的,所以max_sizesize的一樣的

arr.max_size();

操作

14.fill (以指定值填充容器 )

//tempArr:1 2 3 4 5 tempArr.fill(8); //tempArr: 8 8 8 8 8

15.swap (交換兩個容器的內容)

//交換前: //vec:1 3 5 7 //tempVec:2 4 6 8 vec.swap(tempVec); //交換后: //vec:2 4 6 8 //tempVec: 1 3 5 7

總結

以上是生活随笔為你收集整理的c++ array学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。