C++学习基础十四——基础类型vector
一、vector的使用
1. #include <vector>
2. 初始化的四种方法
vector<T> v1;
vector<T> v2(v1);
vector<T> v3(n, i);//长度为n,元素值均是i
vector<T> v4(n);//长度为0,元素均为0
3. 常用方法
(1)v.size():返回值为size_type类型
* 使用size_type类型时,必须指出该类型在哪里定义的,例如vector<int>::size_type。
(2)push_back(t):向v的尾部添加一个元素t。
(3)下标法访问vector元素
vector可以使用下标操作访问其元素,即下标只能用于获取已经存在的元素,而不能通过下标向vector中添加元素。当添加元素时只能通过push_back方法实现。(当试图获取不存在的元素时必然会产生运行时错误)
(4)迭代器访问vector元素(每种容器类型都定义了自己的迭代器类型,因此迭代器对所有的容器都适用,现在C++更倾向于使用迭代器而不是下标访问容器元素)
(5)v.erase(it):删除指定元素
二、vector与数组的区别
1. 数组的长度是固定的,而vector的长度不是固定的,vector可通过push_back在尾部添加元素。
2. 数组间不允许直接复制和赋值。例如:
int a[] = {,};
int b[](a);//error
int c[] = a;//error
int d[];
d = a;//error
3. 数组没有获取其长度的方法,遍历数组时必须提前记录数组的长度。
C++学习基础十四——基础类型vector的更多相关文章
- Bootstrap<基础十四> 按钮下拉菜单
使用 Bootstrap class 向按钮添加下拉菜单.如需向按钮添加下拉菜单,只需要简单地在在一个 .btn-group 中放置按钮和下拉菜单即可.也可以使用 <span class=&qu ...
- python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例
python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...
- Linux学习之十四、管线命令
Linux学习之十四.管线命令 地址:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php
- 风炫安全WEB安全学习第二十四节课 利用XSS钓鱼攻击
风炫安全WEB安全学习第二十四节课 利用XSS钓鱼攻击 XSS钓鱼攻击 HTTP Basic Authentication认证 大家在登录网站的时候,大部分时候是通过一个表单提交登录信息. 但是有时候 ...
- Python 1基础语法四(数字类型、输入输出汇总和命令行参数)
一.数字(Number)类型 python中数字有四种类型:整数.布尔型.浮点数和复数. int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long. ...
- (C/C++学习笔记) 十四. 动态分配
十四. 动态分配 ● C语言实现动态数组 C语言实现动态数组,克服静态数组大小固定的缺陷 C语言中,数组长度必须在创建数组时指定,并且只能是一个常数,不能是变量.一旦定义了一个数组,系统将为它分配一个 ...
- java编程思想第四版第十四章 类型信息习题
fda dfa 第三题u package net.mindview.typeinfo.test4; import java.util.ArrayList; import java.util.Array ...
- Java基础学习笔记十四 常用API之基本类型包装类
基本类型包装类 Java中有8种基本的数据类型,可是这些数据是基本数据,想对其进行复杂操作,变的很难.怎么办呢?在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的.而程序开发中,我们 ...
- javascript基础学习(十四)
javascript之表单对象 学习要点: 表单对象 文本框 按钮 单选框和复选框 一.表单对象 在HTML文档中可能会出现多个表单,也就是说,一个HTML文档中可能出现多个<form>标 ...
随机推荐
- SynergyS7G2RTC时钟模块的使用
RTC功能描述 RTC时钟模块是Synergy芯片的一个时间外设,主要用于日期时间的存储和控制,有别于一般MCU中的Timer,RTC时钟有两种计时模式,日期模式和二进制计时模式,其中日期模式的时间可 ...
- NET Core Kestrel部署HTTPS
NET Core Kestrel部署HTTPS ASP.NET Core配置 Kestrel部署HTTPS.现在大部分网站已经部署HTTPS,大家对于安全越来越重视. 今天简单介绍一下ASP.NET ...
- VMware和Linux的安装
摘自博客 https://blog.csdn.net/lamp_yang_3533/article/details/53136474
- nginx关闭全局access.log,error.log
如果nginx的server里没配置access.log,nginx会默认将server的访问日志记录到access.log, 关闭方法: 在nginx.conf配置文件中, 在全局配置中添加 err ...
- C#、AE开发入门之打开TIFF文件并显示
继上篇文章,本次打开TIFF文件,附上源码及其注释 private void button2_Click(object sender, EventArgs e) { axMapControl1.Cle ...
- C#连接Access数据库显示未在本地计算机注册解决方法
C#连接数据库时会出错 语句如下 string mystr = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\hasee ...
- [转][Oracle][null]
trim(nvl(ipaddress,'')) != '' 这段SQL 并没有像 MSSQL IsNull 一样返回不含空白或null 的内容 经尝试发现 trim('') 为 null a fr ...
- Maven的classifier作用
classifier可以是任意的字符串,用于拼接在GAV之后来确定指定的文件. 可用于区分不同jdk版本所生成的jar包 <dependency> <groupId>net.s ...
- [UE4]不精准射击 Random Unit Vector in Cone in Radians
- eMTC/NB/LTE拨号
挂起-恢复流程挂起恢复流程是eMTC/NB-IoT等蜂窝物联网技术才引进的,LTE并不具备这样的流程.这种机制的引入主要针对物联网海量连接,不活跃小数据包的特点,适时的挂起流程可以减少网络的资源开销, ...