C++標(biāo)準(zhǔn)庫封裝的vector數(shù)組
前言:
如果構(gòu)建基本類型的數(shù)組或者自定義類型的數(shù)組,那么需要自己擴(kuò)展數(shù)組的功能,還有很多需要自己解決的問題,比如需要防止數(shù)組越界問題。此時(shí),可以采用C++標(biāo)準(zhǔn)庫提供的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)建和使用語法如下:
/// 創(chuàng)建
vector<類型>對(duì)象名(數(shù)組長度, 元素初值)/// 取元素
對(duì)象名[下標(biāo)]/// 使用對(duì)象的函數(shù)
對(duì)象名.函數(shù)名()
創(chuàng)建vector
對(duì)象需要指定的“類型”可以是基本數(shù)據(jù)類型或者是類類型,如果是基本數(shù)據(jù)類型可以使用固定數(shù)值進(jìn)行初始化(所有元素的初值只能相同);如果“類型”是類類型,那么就會(huì)調(diào)用“默認(rèn)構(gòu)造函數(shù)”進(jìn)行初始化。下面第一個(gè)例子為基本數(shù)據(jù)類型作為vector元素的例子:
/// 構(gòu)建vector對(duì)象,指定數(shù)組長度為3,初值為666 vector<int>data(3, 666); /// 取元素 printf("%d \n", data[1]); /// 調(diào)用vector對(duì)象的函數(shù) printf("%d \n", data.size());
第二個(gè)例子是類類型的情況,此時(shí)將會(huì)調(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對(duì)象 vector<Duck>ducks(3); /// vector的元素為Duck對(duì)象,可以調(diào)用Duck對(duì)象的成員 printf("%d \n", ducks[1].duckAge);
2、vector對(duì)象的引用
vector對(duì)象和其它類型的對(duì)象在引用的定義和使用的規(guī)則相同,都采用先聲明引用,再將引用指向某個(gè)對(duì)象,最后通過引用操作對(duì)象。
下面是聲明vector類型的引用語法:
vector <類型名>&引用名;
使用引用作為函數(shù)參數(shù)時(shí),最好定義常引用,防止對(duì)象被意外的更改:
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)容請(qǐng)搜索腳本之家以前的文章或繼續(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é)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12