一、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的更多相关文章

  1. Bootstrap<基础十四> 按钮下拉菜单

    使用 Bootstrap class 向按钮添加下拉菜单.如需向按钮添加下拉菜单,只需要简单地在在一个 .btn-group 中放置按钮和下拉菜单即可.也可以使用 <span class=&qu ...

  2. python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例

    python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...

  3. Linux学习之十四、管线命令

    Linux学习之十四.管线命令 地址:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php

  4. 风炫安全WEB安全学习第二十四节课 利用XSS钓鱼攻击

    风炫安全WEB安全学习第二十四节课 利用XSS钓鱼攻击 XSS钓鱼攻击 HTTP Basic Authentication认证 大家在登录网站的时候,大部分时候是通过一个表单提交登录信息. 但是有时候 ...

  5. Python 1基础语法四(数字类型、输入输出汇总和命令行参数)

    一.数字(Number)类型 python中数字有四种类型:整数.布尔型.浮点数和复数. int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long. ...

  6. (C/C++学习笔记) 十四. 动态分配

    十四. 动态分配 ● C语言实现动态数组 C语言实现动态数组,克服静态数组大小固定的缺陷 C语言中,数组长度必须在创建数组时指定,并且只能是一个常数,不能是变量.一旦定义了一个数组,系统将为它分配一个 ...

  7. java编程思想第四版第十四章 类型信息习题

    fda dfa 第三题u package net.mindview.typeinfo.test4; import java.util.ArrayList; import java.util.Array ...

  8. Java基础学习笔记十四 常用API之基本类型包装类

    基本类型包装类 Java中有8种基本的数据类型,可是这些数据是基本数据,想对其进行复杂操作,变的很难.怎么办呢?在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的.而程序开发中,我们 ...

  9. javascript基础学习(十四)

    javascript之表单对象 学习要点: 表单对象 文本框 按钮 单选框和复选框 一.表单对象 在HTML文档中可能会出现多个表单,也就是说,一个HTML文档中可能出现多个<form>标 ...

随机推荐

  1. SynergyS7G2RTC时钟模块的使用

    RTC功能描述 RTC时钟模块是Synergy芯片的一个时间外设,主要用于日期时间的存储和控制,有别于一般MCU中的Timer,RTC时钟有两种计时模式,日期模式和二进制计时模式,其中日期模式的时间可 ...

  2. NET Core Kestrel部署HTTPS

    NET Core Kestrel部署HTTPS ASP.NET Core配置 Kestrel部署HTTPS.现在大部分网站已经部署HTTPS,大家对于安全越来越重视. 今天简单介绍一下ASP.NET ...

  3. VMware和Linux的安装

    摘自博客 https://blog.csdn.net/lamp_yang_3533/article/details/53136474

  4. nginx关闭全局access.log,error.log

    如果nginx的server里没配置access.log,nginx会默认将server的访问日志记录到access.log, 关闭方法: 在nginx.conf配置文件中, 在全局配置中添加 err ...

  5. C#、AE开发入门之打开TIFF文件并显示

    继上篇文章,本次打开TIFF文件,附上源码及其注释 private void button2_Click(object sender, EventArgs e) { axMapControl1.Cle ...

  6. C#连接Access数据库显示未在本地计算机注册解决方法

    C#连接数据库时会出错 语句如下 string mystr = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\hasee ...

  7. [转][Oracle][null]

    trim(nvl(ipaddress,'')) != '' 这段SQL 并没有像 MSSQL  IsNull 一样返回不含空白或null 的内容 经尝试发现  trim('') 为 null a fr ...

  8. Maven的classifier作用

    classifier可以是任意的字符串,用于拼接在GAV之后来确定指定的文件. 可用于区分不同jdk版本所生成的jar包 <dependency> <groupId>net.s ...

  9. [UE4]不精准射击 Random Unit Vector in Cone in Radians

  10. eMTC/NB/LTE拨号

    挂起-恢复流程挂起恢复流程是eMTC/NB-IoT等蜂窝物联网技术才引进的,LTE并不具备这样的流程.这种机制的引入主要针对物联网海量连接,不活跃小数据包的特点,适时的挂起流程可以减少网络的资源开销, ...