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!

推薦閱讀: