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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++中组数的替代方案

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

向量 vector

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

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

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

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

其中,at()nV1的成員函數(shù),通過成員運(yùn)算符","進(jìn)行調(diào)用

類模板 array

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

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

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

1.元素訪問

1.[]
基本格式:
組數(shù)名[下標(biāo)]
例如:

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

2.at()
基本格式:
組數(shù)名.at(下標(biāo))
例如:

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

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

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

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

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

迭代器運(yùn)算函數(shù)

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

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

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

綜合代碼:

#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; }

希望對大家有幫助呀。

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。