首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C+的模板类vector的用法“一”

我们今天这篇文章主要讨论了std::vector模板类的使用。

想使用vector我们需要包含头文件, 与string类一样, vector模板类也是在std命名空间内, 我们先看一下vector的几种初始化方法, 代码如下

vector的构造

以上代码展示了vector模板类的集中常见的初始化方法, 具体说明建代码注释. 其中要注意的是最后一种用法, 要注意是错误的。因为vector是个模板类:vector, 当指定类型的时候,要注意其中的元素要与指定的类型相匹配, 否则会编译不通过

但是很多时候我们虽然知道vector中有多少元素, 但是当元素个数很多的时候,利用{} 这种列表初始化就不太合适了, 那么我们怎么想vector中添加元素呢 *向vector中添加[0-9)的平方作为元素, 并遍历他们打印出来

给vector添加元素并遍历输出

打印输出的结果如下

运行结果

上面我们可以看到向vector里面添加函数,使用的是push_back方法, 那么vector具有哪些操作,让我们可以获取vector的一些性质呢, 在上面的代码基础上我们添加以下代码

结果如下

从上面我们可以发现, vector也可以通过[]下标索引器来访问其中的元素, 同std::string一样,要注意索引的大小要小于 vector.size(), 否则会在运行时出错,但是需要特别注意的是, 不能使用索引器添加元素, 下面的代码是错误的

 std::vector vec

 //这种用法是错误的

 vec[0] = 22

同std::string类似, vector也提供了 ==, !=, = 等操作, 具体的用法如下

 //仅当v1与v2元素数量相同, 且对应位置的元素值都相同的时候 v1才等于v2

 v1 == v2

 //这种比较是以字典的方式进行比较,这个小伙伴们可以自行下去编写代码测试一下他们的用法

 =

有一点要重点强调的是, 只有vector的类型T支持以上的运算符操作,我们才可以对vector进行上述操作, 否则不能比较两个vector对象

我们总结一下, 这篇文章主要讲述了vector对象的初始化, 以及一些常用的vector操作方法, 我们下篇文章将看一下另一种访问vector元素的方法, 同时也是C++中很重要的一种访问元素方法--迭代器,明天见

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210922A0FKBN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券