当前位置: 首页> 健康> 美食 > 全媒体广告策划与营销_小程序定制开发外包风险_网站排名优化制作_seo关键词报价查询

全媒体广告策划与营销_小程序定制开发外包风险_网站排名优化制作_seo关键词报价查询

时间:2025/7/11 8:05:57来源:https://blog.csdn.net/2401_87151064/article/details/146958050 浏览次数:0次
全媒体广告策划与营销_小程序定制开发外包风险_网站排名优化制作_seo关键词报价查询

C++库中给了许多vector的接口如下,学习vector先认识一些常用的接口用法,然后模拟实现加深理解。

首先我们先简单讲解一下vector的接口用法,它底层是一段动态开辟的空间,然后它提供了许多接口:

1.构造

第一个first是默认构造,第二个是用4个100进行构造,第三个是运用迭代器进行构造,第四个是拷贝构造。

2.=运算符重载

直接类比内置类型的赋值。实际上该运算符的实现是利用了拷贝构造而且是深层拷贝。

3.迭代器

迭代器的使用和string比较类似,都是一个函数。

4.size

size函数时返回vector中元素的数量。使用是可以这样写:

5.resize

resize是改变空间大小并初始化,但是一般不进行缩容。我们调试来看,库中给的原型如下:

如果我们不写会默认用缺省值初始化进行初始化,写的话利用该值进行初始化。

6.reserve

与resize不同,它进行扩容时不会进行初始化,仅仅会扩容,我们调试来看:

库中的原型函数如下:

7.【】访问和at

与stringl类似,vector容器也支持进行下标访问,at与[]类似,但是它们区别是at发生错误时抛异常但是[]直接报错.

8.assign

assign的作用是追加元素,支持两种写法一种是迭代器另一种是直接给要赋值的个数和该值。

9.push_back和pop_back(尾插和尾删)

push_back的作用就是尾插,pop_back的作用是尾删.

10.insert和erase

insert的作用是在指定位置之前插入,vector给出的方法需要用迭代器实现。支持单个值插入,也支持多个值插入,也支持从别的vector中进行插入。我们演示第三个:

erase和insert类似,也是利用迭代器进行删除。

但是这里需要主要它们使用时会有迭代器失效的问题,原因是我们假如it指向下标0,那么我们插入之后it是否还是指向下标0呢?vs这里是强制检查进行报错,如果我们想要连续使用it需要对它进行重新赋值。我们可以看到如果我们不对它进行重新赋值,那么It使用一次后就会失效掉,再次使用it会进行报错。

我们对it进行赋值即可,这里我认为insert插入是一个一个向后移动元素,所以insert之后还是指向下标0的,但是如果是erase的话,如果我们刚好删除最后一个元素,it刚好会越界访问,为了防止这种情况,vs对它进行强制检查,但是有的编译器下并不会进行强制检查,但是为了平台的统一性,我们统一对it进行重新赋值后使用。erase与Insert类似,是相同的道理。

关键字:全媒体广告策划与营销_小程序定制开发外包风险_网站排名优化制作_seo关键词报价查询

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: