STL中vector的构造函数

news/2024/5/19 1:02:09 标签: STL, vector, 构造函数
          vector是由STL提供的一种序列式容器,它的底层其实就是一个动态数组。如要使用vector,需要#include<vector>。
vector的特点:
          因为支持下标访问,所以能高效的进行随机存取,时间复杂度为O(1);
         由于 内存空间是连续的,在进行非尾插和尾删的操作时,会进行大量的数据搬移操作,时间复杂度为O(n)。
          当数组空间不足时,会重新申请一段连续的空间并进行内存拷贝。 接下来主要介绍vector中接口的说明和使用。
vector的4种构造函数
    
1、vector( const Allocator& = Allocator() );
2、vector( size_type n,constT& value = T(), const Allocator& = Allocator() );
3、template <class InputIterator>
     vector ( InputIterator first, InputIterator last, const Allocator& = Allocator() );
4、vector ( const vector<T,Allocator>& x );
说明 除了第4个构造函数,其他的几个构造函数都有一个缺省参数Allocator,它是用于指定要使用的空间配置器的,STL提供的默认的空间配置器,我们基本不用管这个参数,除非是我们自己实现了一个空间配置器,然后希望使用我们自己写的空间配置器。
各个构造函数的使用:



vector ( const vector<T,Allocator>& x );
拷贝构造函数,根据一个vector对象构建一个新的vector对象
注意,拷贝有深拷贝和浅拷贝两种方式。  一般在创建一个新的对象时使用的就是深拷贝,即元素值相同,地址空间不同,而在使用一个vector对象进行值传递传参时,使用的就是浅拷贝,即形参是实参的一份临时拷贝。这往往是会出问题的,所以建议在使用vector作为参数时,尽量传引用。



http://www.niftyadmin.cn/n/1014630.html

相关文章

解析Cookie欺骗实现过程及具体应用

正如我们所知道的&#xff0c;在网络词汇中&#xff0c;cookie是一个特殊的信息&#xff0c;虽然只是服务器存于用户计算机上的一个文本文件&#xff0c;但由于其内容的不寻常性(与服务器有一定的互交性&#xff0c;且常会存储用户名&#xff0c;甚至口令&#xff0c;或是其它一…

个人中文简历

<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />通信(设备运营增值服务) | Team Leader |5年工作经验 | 硕士 | 江苏省南京 电子邮箱&#xff1a;liam7953yahoo.com.cn手机&#xff1a;13913320757工作电话&#xff1a;086-25-…

一个很COOL的图片验证码程序[含源码]

一、先看看效果:制作步骤&#xff1a;&#xff08;1&#xff09;准备你想要的多张图片&#xff08;数量不限&#xff0c;由你自己决定&#xff09;&#xff0c;将它们放在一个统一的目录下&#xff0c;比如我这里是“ValidateCodeImg”。图片尺寸尽量适合你的验证码尺寸。这样有…

vector中常见接口的介绍与使用

迭代器相关 iterator begin();正向迭代器&#xff1a;返回一个迭代器&#xff0c;指向vector对象的第一个元素iterator end();正向迭代器&#xff1a;返回一个迭代器&#xff0c;指向vector对象最后一个元素的后边reverse_iterator rbegin();反向迭代器&#xff1a;返回一个迭代…

汇编语言(十二)颜色搭配显示+BIOS功能调用表+INT 10H功能详细列表

几种比较和谐的文字背景颜色搭配 一张色环图教你搞定配色&#xff01; 颜色显示 二进制数颜色例子二进制数颜色例子0000黑色black1000灰色gray0001蓝色blue1001淡蓝色light blue0010绿色green1010淡绿色light green0011青色cyan1000淡青色light cyan0100红色red1100淡红色li…

更换SPS2003服务器并将数据库升级到SQL2005

原有一台SPS2003服务器&#xff0c;有多个门户网站&#xff0c;部分门户网站有一些问题(如不能创建区域、有的网站在管理时显示英文)&#xff0c;因为此服务器是从 物理服务器迁移到虚拟机中的&#xff0c;还有一些问题。所以&#xff0c;准备迁移&#xff0c;同时&#xff0c;…

Hashtable 的烦恼!

不知道把这么一篇不入流的东西放在首页有碍观瞻&#xff0c;但就算是新手也一般是浏览首页&#xff0c;我的目的也是希望给一些碰到类似问题的新手提供点帮助&#xff0c;也希望得到高手的指点。先看下面的代码usingSystem;usingSystem.Collections;namespaceNoSortHashtable{ …

编译和链接的过程

程序要运行起来&#xff0c;必须要经过四个步骤&#xff1a;预处理、编译、汇编和链接。接下来通过几个简单的例子来详细讲解一下这些过程。 对于上边用到的几个选项需要说明一下。 使用 gcc 命令不跟任何的选项的话&#xff0c;会默认执行预处理、编译、汇编、链接这整个过程…