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