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

vector

一、 vector的介绍 1.1 vector的介绍 vector的文档介绍 1. vector是表示可变大小数组的序列容器。 2. 就像数组一样,vector也采用的连续存储空间来存储元素。...vector> 的实现 //vector> class vector { public: vector& operator[](size_t...二、 vector的使用 2.1 vector使用的表格 表格1: vector构造函数声明 构造函数声明 接口说明 vector() 无参构造,创建一个空的vector vector(size_type...3.2 reserve扩容机制: int main() { // vector的默认扩容机制 // vs:按照1.5倍方式扩容 // linux:按照2倍方式扩容 vector v; //...这个扩容机制为了提高插入效率,通常不会每次只扩展一个元素的容量,而是采用倍增方式,常见的扩容因子有 1.5 倍或者 2 倍(VS中是1.5倍扩容,Linux中是2倍扩容)。

9910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    vector不是模板_vector的实现

    1.vector容器 vetcor顾名思义就是一个向量的容器,该容器中的每个元素都属于同一个类型,有点类似于数组,vetor容器与数组的不同之处就在于,它具有“动态”的属性,举例来说,如果定义了一个vector...vector容器的常规操作有: 初始化 vectora(10) vector :说明这是一个什么容器 int : 说明这个容器里面放的是什么类型的东西 a: 容器名 (10); 这个容器有多大...vectora(10,995) //这个容器一共有10元素,每个元素的值都是998 访问vector 下标 at方法 其他 a[10] //访问第11个元素 a.at(4) //访问第...5个元素 a.back(); //返回a的最后一个元素 a.front(); //返回a的第一个元素 遍历vector中的元素 迭代器 for(auto it = a.begin(); it !...利用下标 for(auto i = 0; i < a.size(); ++i) cout<<a[i]<<" "; cout<<endl; 注意 .size()方法可以获取vector

    63710

    【c++】vector以及vector的模拟实现

    vector的介绍及使用 1.vector的介绍 https://cplusplus.com/reference/vector/vector/ vector是表示可变大小数组的序列容器 就像数组一样,.../reference/vector/vector/ vector在实际中非常的重要,在实际中我们熟悉常见的接口就可以,下面列出了哪些接口是要重点掌握的 2.1 vector的定义 2.2 vector...因此删除vector中任意位置上元素时,vs就认为该位置迭代器失效了 注意:Linux下,g++编译器对迭代器失效的检测并不是非常严格,处理也没有vs下极端 从上述三个例子中可以看到:SGI STL中,...,vector的容量为: " << v.capacity() << endl; // 经过上述reserve之后,it迭代器肯定会失效,在vs下程序就直接崩溃了,但是linux下不会 // 虽然可能运行...的容量为: 5 扩容之后,vector的容量为 : 100 0 2 3 4 5 409 1 2 3 4 5 // 2. erase删除任意位置代码后,linux下迭代器并没有失效 // 因为空间还是原来的空间

    7410

    C++返回vectorvector作为参数传递

    sequence; //在主调函数这边,直接传入该vector变量 getSequence(num,sequence); //访问该vector的值的时候,也是直接访问即可...=sequence.end();it++){ cout<<*it< 第二个方式是返回vector变量 在被调用函数中声明一个vector变量,函数结束的时候返回vector变量 但是这样的传参方式我有一个不太理解的地方...,既然vector变量是在被调函数中声明的,就应该是一个局部变量,在被调函数执行完毕之后这部分空间应该会被销毁,这个变量就无法访问到了,莫非vector是在堆空间开辟的地址?...然后返回的其实是指向堆空间vector的指针?...,只传入num sequence=getSequence(num); //访问该vector的值的时候,也是直接访问即可 for(vector::iterator it

    5.3K60

    vector容器!

    内容思维导图: 一、vector基本概念: 1、功能: vector数据结构和数组非常相似,也称为单端数组。...2、vector和普通数组的区别: 不同之处在于数组是静态空间,而vector是可以动态扩展的。动态扩展它并不是在原空间之后持续新空间,而是找更大的内存空间,然后将原数据拷贝到新空间,释放原空间。...二、vector构造函数 1、功能: 创建vector容器 2、函数原型: vectorv;//采用模板实现类,默认构造函数 vector(v.begin(),v.end());//将v[begin()...,end())区间中的元素拷贝给本身,注意是左闭右开 vector(n,elem);//构造函数n个elem拷贝给本身 vector(const vector &vec);//拷贝构造函数 代码应用:...赋值操作: 1、功能描述: 给vector容器进行赋值 2、函数原型: vector& operator=(const vector &vec);//重载等号操作符 assign(beg,end);//

    38230

    vector讲解

    在学习玩string后我们开始学习vector,本篇博客将对vector进行简单的介绍,还会对vector一些常用的函数进行讲解 vector的介绍 实际上vector就是一个数组的数据结构,但是vector...就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。...vector分配空间策略:vector会分配一些额外的空间以适应可能的增长,因为存储空间比实际需要的存储空间更大。不同的库采用不同的策略权衡空间的使用和重新分配。...2vector会分配一些额外的空间以适应可能的增长,因为存储空间比实际需要的存储空间更大 vector的使用 vector的定义 vector的定义就差不多是初始化以及拷贝构造和构造,这些在之前的string...vector增容都是2倍,具体增长多少是根据具体的需求定义 2 reserve只负责开辟空间,如果确定知道需要用多少空间,reserve可以缓解vector增容的代价缺陷问题。

    6510

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券