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

歡迎訪問 生活随笔!

生活随笔

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

c/c++

c++中组数的替代方案

發布時間:2025/3/19 c/c++ 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++中组数的替代方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

向量 vector

vector可以看作一個動態數組,用于存儲一組數據類型相同的數據,對數據元素的個數沒有限制,即可以把 vector看作一個存放任意數據類型的“容器”。使用 vector需要包含頭
文件< vector>。聲明 vector對象的方法有多種,例如:
vector〈類型說明符〉對象名;
vector〈類型說明符〉對象名(元素個數);
vector〈類型說明符〉對象名{元素初始列表};
其中,類型說明符說明了 vector容器中存儲的數據類型,可以是基本數據類型,也可以
是構造數據類型。對象名是任意合法的標識符。第一種形式聲明的對象長度是0,第二種形式指定了對象的元素個數,第三種形式可以為對象賦初始值。例如:

vector<int>nV1; vector<int>fV2(10); vector<int>nV3{1,2,3,4,5};

nV1的初始長度為0,并不意味著該向量沒有任何用處,不能存儲任何數據。同樣,fV2的初始長度是10,也并不意味著只能存儲10個foat型數據,因為 vector類型的對象長度是自動變化的。例如,若fV2中存儲的元素超過10個,編譯器會自動為fV2分配相應數量的內存空間。
vector 向量中元素的訪問方法有兩種:下標法和使用成員函數()。例如,訪間nv3的第三個元素(下標為2的元素):

nV1[2]; //或者 nV1.at(2);

其中,at()nV1的成員函數,通過成員運算符","進行調用

類模板 array

aray與普通數組一樣,也實現為一個定長的數組。使用aray需要包含頭文件
聲明array類型對象的基本格式如下:
array<類型說明符,組數長度>組數名;
例如:

array<int,10>array1{1,2,3,4,5}; array<float,10>array2;

類模板array提供了豐富的層面,函數可以實現特定的功能,下面介紹幾個常用的成員函數。

1.元素訪問

1.[]
基本格式:
組數名[下標]
例如:

cout<<arr2[2]; arr2[2]=0;

2.at()
基本格式:
組數名.at(下標)
例如:

cout<<arr2.at(2); arr2.at(2)=0;

3.front()
基本格式:
組數名.front()
函數功能:返回第1個元素,相當于at(0)。例如:

cout<<arr2.front(); arr2.front()=0;

4.back()
基本格式:
組數名.back()
函數功能:返回最后一個元素。
5.date()
基本格式:
組數名.date()
函數功能:返回指向第1個元素的指針。例如

array<int,10>arr2{1,2,3,4,5}; cout<<*arr2.data(); *arr2.data()=0;

迭代器運算函數

迭代器( Iterator)即指向array容器的元素的指針,它具有指針的一般性質,如解引用運
”、指針移動(如自增“++”、自減“—”)等。相關的成員函數包括 begin()、end0)、 begin()、rend()。

(1)begin(),end()
基本格式:
數組名.begin()

數組名.end()
分別返回第1個元素的迭代器和最后一個元素后面位置的迭代器。
(2)rbegin(),rend()
分別返回最后一個元素的迭代器和第1個元素前面位置的迭代器
這種迭代器可以看做反向迭代器,如果需要逆序訪問數組元素的話,可以使用這種迭代器。

綜合代碼:

#include <iostream> #include <cstring> #include <array> using namespace std;int main() {const int max = 10;array<int, max>a;for (int i = 0; i < max; i++)cin >> a.at(i);cout << a[0] << endl;cout << a.at(0);cout << endl << a.front() << " " << a.back() << endl;cout << *a.data() << endl;cout << *a.begin() << endl << "b" << *(a.end() - 1) << endl; }

希望對大家有幫助呀。

總結

以上是生活随笔為你收集整理的c++中组数的替代方案的全部內容,希望文章能夠幫你解決所遇到的問題。

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