使用vector的注意事项(切记):

  1. 使用 vector<int> v; 声明一个容器v时,如果没有给他预定存储空间(如:vector<int> v;),则可以直接使用v.push_back(x)插入变量x,那么插入的第一个元素可以用v[0]访问到。
  2. 使用 vector<int> v(n); 声明一个容器v时,如果给他预定存储空间(如:vector<int> v(n);),则vector<int> v(n) 等价于vector<int> v(n,0); 如果要使得位置0存储元素x,则只能使用v[0]=x,如果使用v.insert(x)插入变量x,那么v的第一个元素还是0,即v[0]=0,因为v.push_back(x)是将x插入到v[n],又因为声明v时,v最多能存储n个元素,即x根本没有成功插入容器v中。
vector<int> v;
v.push_back(1);//只能这样赋值,不能用v[0]=1;vector<int> v(n);//等价于vector<int> v(n,0);
v[0]=1;//只能这样赋值,不能用v.push_back(1),因为此时的v.push_back(1)是把1插入到v[n]位置,但是v[n]越界了,实际上是无法插入的;vector<int> v(n,0);
v[0]=1;//只能这样赋值,不能用v.push_back(1);

vector<int> v 与 vector<int> v(n) 的区别相关推荐

  1. Boost:在GPU上对int的std :: vector进行排序

    Boost:在GPU上对int的std :: vector进行排序 实现功能 C++实现代码 实现功能 Boost的compute模块,在GPU上对int的std :: vector进行排序 C++实 ...

  2. 数组赋值给vector和list,顺便说明int和size_t的区别

    如果a是数组,那么a.size() 返回的类型是size_t类型. 数组赋值给vector或者list,可以采用地址. #include <iostream> #include <s ...

  3. Java 数据结构(链表LinkedList增删改查、数组Vector、获取Vector最大值、交换Vector两成员位置、栈的实现、压栈出栈实现反转、队列Queue)

    在链表(LinkedList)的开头和结尾添加元素 import java.util.LinkedList;public class Main {public static void main(Str ...

  4. [转贴]从零开始学C++之STL(二):实现一个简单容器模板类Vec(模仿VC6.0 中 vector 的实现、vector 的容量capacity 增长问题)...

    首先,vector 在VC 2008 中的实现比较复杂,虽然vector 的声明跟VC6.0 是一致的,如下: C++ Code  1 2   template < class _Ty, cla ...

  5. vector用法 java_java.util.vector中的vector的详细用法

    /** *演示Vector的使用.包括Vector的创建.向Vector中添加元素.从Vector中删除元素.*统计Vector中元素的个数和遍历Vector中的元素.*/ public class ...

  6. java vector的排序_java Vector排序及用法

    temp=CustomerMaker.quickPassQueue.get(0);//获得首元素 CustomerMaker.quickPassQueue.remove(0);//删除首元素 quic ...

  7. c语言中vector的用法,C++ vector使用方法

    在 c++ 中,vector 是一个十分有用的容器.它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据. C++ 中数组很坑,有没有类似 P ...

  8. C++ 笔记(23)— STL vector 类(实例化 vector、末尾插入、指定位置插入、数组方式访问元素、指针方式访问元素、删除元素、大小与容量区别)

    1. vector 特点 vector 是一个模板类,提供了动态数组的通用功能,具有如下特点: 在数组末尾添加元素所需的时间是固定的,即在末尾插入元素的所需时间不随数组大小而异,在末尾删除元素也如此: ...

  9. java向量vector类,java数据结构——Vector(向量类)

    Vector底层是用数组实现的,其容量是可以动态扩展的,默认初始容量是10,默认增长因子是0,详细的扩容方式会在构造方法中讲述. Vector对象和ArrayList一样可以随意插入不同类的对象,因为 ...

最新文章

  1. 使用行为树(Behavior Tree)实现网游奖励掉落系统
  2. Arduino可穿戴教程认识ArduinoIDE
  3. linux ssh 下实现免密码登录
  4. linux查看进程相关命令
  5. TIMING_01 时序约束与时序分析引导篇
  6. Java常用设计模式————组合模式
  7. bzoj 1710: [Usaco2007 Open]Cheappal 廉价回文【区间dp】
  8. bzoj 1605: [Usaco2008 Open]Crisis on the Farm 牧场危机(DP)
  9. 第三周 3.14 --- 3.20
  10. 网格划分——Mesh操作
  11. 非计算机专业的秋招之路
  12. 如何在Oracle官网下载旧版本的JDK
  13. 电子齿轮 电子凸轮
  14. 稀疏矩阵的实现以及高斯塞达尔迭代法
  15. 如何获取股票交易数据接口?
  16. 人工智能的创业“风口”
  17. 中式装修之美,呈现出东方的诗意与唯美
  18. 元旦在家撸了两天Seata源码,你们是咋度过的呢?
  19. android之ListView布局
  20. Prometheus自带指标整理

热门文章

  1. 灾难-NAS服务器用的西数红盘报警处理
  2. Linux运维基本功(贰)---Linux系统的目录结构
  3. Matrixdb添加mirror
  4. 【AI达人创造营三期-Antigen Detector(新冠试剂盒检测)部署】
  5. 基于Eclipse和Mysql写的公交管理系统
  6. 程序员干到30岁,真的只能转行了么?
  7. 完美解决丨1. **`SyntaxError: invalid syntax`**
  8. html5 放鞭炮效果,flash如何制作鞭炮的爆炸效果
  9. python中将数据写入excel
  10. VR+文旅景区结合VR主题乐园VR设备厂家