C++標(biāo)準(zhǔn)庫封裝的vector數(shù)組

前言:
如果構(gòu)建基本類型的數(shù)組或者自定義類型的數(shù)組,那么需要自己擴(kuò)展數(shù)組的功能,還有很多需要自己解決的問題,比如需要防止數(shù)組越界問題。此時(shí),可以采用C++標(biāo)準(zhǔn)庫提供的vector模板,vector創(chuàng)建的對象包含眾多封裝好的函數(shù),比如“對象名.size()”函數(shù)可以很方便的查看數(shù)組的大小。下面從定義、使用、做函數(shù)引用等方面分別進(jìn)行記錄,并討論vector對象和數(shù)組的區(qū)別。
1、創(chuàng)建和使用vector對象
vector對象的創(chuàng)建和使用語法如下:
/// 創(chuàng)建
vector<類型>對象名(數(shù)組長度, 元素初值)/// 取元素
對象名[下標(biāo)]/// 使用對象的函數(shù)
對象名.函數(shù)名()
創(chuàng)建vector對象需要指定的“類型”可以是基本數(shù)據(jù)類型或者是類類型,如果是基本數(shù)據(jù)類型可以使用固定數(shù)值進(jìn)行初始化(所有元素的初值只能相同);如果“類型”是類類型,那么就會調(diào)用“默認(rèn)構(gòu)造函數(shù)”進(jìn)行初始化。下面第一個(gè)例子為基本數(shù)據(jù)類型作為vector元素的例子:
/// 構(gòu)建vector對象,指定數(shù)組長度為3,初值為666
vector<int>data(3, 666);
/// 取元素
printf("%d \n", data[1]);
/// 調(diào)用vector對象的函數(shù)
printf("%d \n", data.size());第二個(gè)例子是類類型的情況,此時(shí)將會調(diào)用類的默認(rèn)構(gòu)造函數(shù),用于初始化:
/// 自定義的Duck類
class Duck {
public:
? ? /// 默認(rèn)構(gòu)造函數(shù)
?? ?Duck() { duckAge = 666; }
?? ?int duckAge;
};
/// 創(chuàng)建Duck類型的vector對象
vector<Duck>ducks(3);
/// vector的元素為Duck對象,可以調(diào)用Duck對象的成員
printf("%d \n", ducks[1].duckAge);2、vector對象的引用
vector對象和其它類型的對象在引用的定義和使用的規(guī)則相同,都采用先聲明引用,再將引用指向某個(gè)對象,最后通過引用操作對象。
下面是聲明vector類型的引用語法:
vector <類型名>&引用名;
使用引用作為函數(shù)參數(shù)時(shí),最好定義常引用,防止對象被意外的更改:
void vectorSize(vector<int>&vec) {
?? ?printf("%d \n", vec.size());
}到此這篇關(guān)于C++標(biāo)準(zhǔn)庫封裝的vector數(shù)組的文章就介紹到這了,更多相關(guān)C++的 vector數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Qt實(shí)現(xiàn)TCP網(wǎng)絡(luò)編程
這篇文章主要為大家詳細(xì)介紹了Qt實(shí)現(xiàn)TCP網(wǎng)絡(luò)編程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
好用的C++ string Format“函數(shù)”介紹
大家好,本篇文章主要講的是好用的C++ string Format“函數(shù)”介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12

