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>标 ...
随机推荐
- 细看Thread的 start() 和 run()方法
1.start(): 我们先来看看API中对于该方法的介绍: 使该线程开始执行:Java 虚拟机调用该线程的 run 方法. 结果是两个线程并发地运行:当前线程(从调用返回给 start 方法)和另一 ...
- Java序列化的理解与学习
1.什么是Java序列化 Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比 JVM的生命周期更长.但在现实应 ...
- 还原MongoDB dump备份出来的Bson数据
集合名 数据库名 备份文件位置 mongorestore --collection people --db accounts dump/accounts/people.bson
- bzoj4480: [Jsoi2013]快乐的jyy
[问题描述] 给定两个字符串A和B,表示JYY的两个朋友的名字.我们用A(i,j)表示A 字符串中从第i个字母到第j个字母所组成的子串.同样的,我们也可以定义B(x,y). JYY发现两个朋友关系的紧 ...
- ElasticSearch 5.0.0 安装部署常见错误或问题
1.ERROR: bootstrap checks failed [1]: max file descriptors [65535] for elasticsearch process is too ...
- 服务网关zuul之一:入门介绍
通过之前几篇Spring Cloud中几个核心组件的介绍,我们已经可以构建一个简略的(不够完善)微服务架构了.比如下图所示: 我们使用Spring Cloud Netflix中的Eureka实现了服务 ...
- mysql查询优化之二:查询优化器的局限性
在<mysql查询优化之一:mysql查询优化常用方式>一文中列出了一些优化器常用的优化手段.查询优化器在提供这些特性的同时,也存在一定的局限性,这些局限性往往会随着MySQL版本的升级而 ...
- [转][easyui]右键菜单
来自:Zephyr.Net开发手册 var $tab = $('#tabs'); var currentTab = $tab.tabs('getSelected'); var titles = wra ...
- go语言学习--map的并发
go提供了一种叫map的数据结构,可以翻译成映射,对应于其他语言的字典.哈希表.借助map,可以定义一个键和值,然后可以从map中获取.设置和删除这个值,尤其适合数据查找的场景.但是map的使用有一定 ...
- 电脑不能上网win7 解决办法
情况一览: 电脑连的是WIFI 手机能上,局域网其他电脑能上 电脑浏览器打不开网页 问题解决: //win+R 快捷键进入cmd 1.ipconfig 看电脑有没有ip 2.ipconfig nslo ...