当前位置:主页 > 软件编程 > C代码 >

C++标准库封装的vector数组

时间:2022-09-13 08:48:28 | 栏目:C代码 | 点击:

前言:

如果构建基本类型的数组或者自定义类型的数组,那么需要自己扩展数组的功能,还有很多需要自己解决的问题,比如需要防止数组越界问题。此时,可以采用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());
}

您可能感兴趣的文章:

相关文章