vector<int> v 与 vector<int> v(n) 的区别
使用vector的注意事项(切记):
- 使用 vector<int> v; 声明一个容器v时,如果没有给他预定存储空间(如:vector<int> v;),则可以直接使用v.push_back(x)插入变量x,那么插入的第一个元素可以用v[0]访问到。
- 使用 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) 的区别相关推荐
- Boost:在GPU上对int的std :: vector进行排序
Boost:在GPU上对int的std :: vector进行排序 实现功能 C++实现代码 实现功能 Boost的compute模块,在GPU上对int的std :: vector进行排序 C++实 ...
- 数组赋值给vector和list,顺便说明int和size_t的区别
如果a是数组,那么a.size() 返回的类型是size_t类型. 数组赋值给vector或者list,可以采用地址. #include <iostream> #include <s ...
- Java 数据结构(链表LinkedList增删改查、数组Vector、获取Vector最大值、交换Vector两成员位置、栈的实现、压栈出栈实现反转、队列Queue)
在链表(LinkedList)的开头和结尾添加元素 import java.util.LinkedList;public class Main {public static void main(Str ...
- [转贴]从零开始学C++之STL(二):实现一个简单容器模板类Vec(模仿VC6.0 中 vector 的实现、vector 的容量capacity 增长问题)...
首先,vector 在VC 2008 中的实现比较复杂,虽然vector 的声明跟VC6.0 是一致的,如下: C++ Code 1 2 template < class _Ty, cla ...
- vector用法 java_java.util.vector中的vector的详细用法
/** *演示Vector的使用.包括Vector的创建.向Vector中添加元素.从Vector中删除元素.*统计Vector中元素的个数和遍历Vector中的元素.*/ public class ...
- java vector的排序_java Vector排序及用法
temp=CustomerMaker.quickPassQueue.get(0);//获得首元素 CustomerMaker.quickPassQueue.remove(0);//删除首元素 quic ...
- c语言中vector的用法,C++ vector使用方法
在 c++ 中,vector 是一个十分有用的容器.它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据. C++ 中数组很坑,有没有类似 P ...
- C++ 笔记(23)— STL vector 类(实例化 vector、末尾插入、指定位置插入、数组方式访问元素、指针方式访问元素、删除元素、大小与容量区别)
1. vector 特点 vector 是一个模板类,提供了动态数组的通用功能,具有如下特点: 在数组末尾添加元素所需的时间是固定的,即在末尾插入元素的所需时间不随数组大小而异,在末尾删除元素也如此: ...
- java向量vector类,java数据结构——Vector(向量类)
Vector底层是用数组实现的,其容量是可以动态扩展的,默认初始容量是10,默认增长因子是0,详细的扩容方式会在构造方法中讲述. Vector对象和ArrayList一样可以随意插入不同类的对象,因为 ...
最新文章
- 使用行为树(Behavior Tree)实现网游奖励掉落系统
- Arduino可穿戴教程认识ArduinoIDE
- linux ssh 下实现免密码登录
- linux查看进程相关命令
- TIMING_01 时序约束与时序分析引导篇
- Java常用设计模式————组合模式
- bzoj 1710: [Usaco2007 Open]Cheappal 廉价回文【区间dp】
- bzoj 1605: [Usaco2008 Open]Crisis on the Farm 牧场危机(DP)
- 第三周 3.14 --- 3.20
- 网格划分——Mesh操作
- 非计算机专业的秋招之路
- 如何在Oracle官网下载旧版本的JDK
- 电子齿轮 电子凸轮
- 稀疏矩阵的实现以及高斯塞达尔迭代法
- 如何获取股票交易数据接口?
- 人工智能的创业“风口”
- 中式装修之美,呈现出东方的诗意与唯美
- 元旦在家撸了两天Seata源码,你们是咋度过的呢?
- android之ListView布局
- Prometheus自带指标整理
热门文章
- 灾难-NAS服务器用的西数红盘报警处理
- Linux运维基本功(贰)---Linux系统的目录结构
- Matrixdb添加mirror
- 【AI达人创造营三期-Antigen Detector(新冠试剂盒检测)部署】
- 基于Eclipse和Mysql写的公交管理系统
- 程序员干到30岁,真的只能转行了么?
- 完美解决丨1. **`SyntaxError: invalid syntax`**
- html5 放鞭炮效果,flash如何制作鞭炮的爆炸效果
- python中将数据写入excel
- VR+文旅景区结合VR主题乐园VR设备厂家