C++標準庫封裝的vector數組
前言:
如果構建基本類型的數組或者自定義類型的數組,那麼需要自己擴展數組的功能,還有很多需要自己解決的問題,比如需要防止數組越界問題。此時,可以采用C++標準庫提供的vector模板,vector創建的對象包含眾多封裝好的函數,比如“對象名.size()”函數可以很方便的查看數組的大小。下面從定義、使用、做函數引用等方面分別進行記錄,並討論vector
對象和數組的區別。
1、創建和使用vector對象
vector對象的創建和使用語法如下:
/// 創建
vector<類型>對象名(數組長度, 元素初值)/// 取元素
對象名[下標]/// 使用對象的函數
對象名.函數名()
創建vector
對象需要指定的“類型”可以是基本數據類型或者是類類型,如果是基本數據類型可以使用固定數值進行初始化(所有元素的初值隻能相同);如果“類型”是類類型,那麼就會調用“默認構造函數”進行初始化。下面第一個例子為基本數據類型作為vector元素的例子:
/// 構建vector對象,指定數組長度為3,初值為666 vector<int>data(3, 666); /// 取元素 printf("%d \n", data[1]); /// 調用vector對象的函數 printf("%d \n", data.size());
第二個例子是類類型的情況,此時將會調用類的默認構造函數,用於初始化:
/// 自定義的Duck類 class Duck { public: /// 默認構造函數 Duck() { duckAge = 666; } int duckAge; }; /// 創建Duck類型的vector對象 vector<Duck>ducks(3); /// vector的元素為Duck對象,可以調用Duck對象的成員 printf("%d \n", ducks[1].duckAge);
2、vector對象的引用
vector對象和其它類型的對象在引用的定義和使用的規則相同,都采用先聲明引用,再將引用指向某個對象,最後通過引用操作對象。
下面是聲明vector類型的引用語法:
vector <類型名>&引用名;
使用引用作為函數參數時,最好定義常引用,防止對象被意外的更改:
void vectorSize(vector<int>&vec) { printf("%d \n", vec.size()); }
到此這篇關於C++標準庫封裝的vector數組的文章就介紹到這瞭,更多相關C++的 vector數組內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- C++函數指針+對象指針+this指針+指向類靜態和非靜態成員的指針
- C++類的繼承和派生及指針安全引用
- 詳解Python變量與註釋高級用法
- C++構造函數+復制構造函數+重載等號運算符調用
- C++二級指針和指針的引用