C 语言

关注公众号 jb51net

关闭
首页 > 软件编程 > C 语言 > C++的 vector数组

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

作者:机器学习入坑者

这篇文章主要介绍了C++标准库封装的vector数组,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数组内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文