C++ Primer学习笔记- 第三章:标准库类型之二
来源:互联网 发布:美工是干嘛的 编辑:程序博客网 时间:2024/06/02 10:15
二、标准库vector类型
1.包含头文件 #include<vector>
vector不是一种数据类型,而只是一个类模板。vector<int> 、 vector<CStudent>是数据类型
2.vector的定义和初始化
它的初始化有如下几种方式:
Vector<T> v1 ; // 默认构造函数v1为空
Vector<T> v2(v1) ; // v2是v1的一个副本
Vector<T> v3(n, i) ; // v3包含n个值为i的元素 参数 T 如果是类类型则一定要有拷贝构造函数(未定义的情况下系统会自动分配一个)
Vector<T> v4(n) ; // v4含值初始化的元素个副本 参数 T 如果是类类型则一定要有默认构造函数(未定义的情况下系统会自动分配一个) 如果是内置类型则分配n个0
对于类类型如果不能满足红色标示的要求编译会失败。 关于类类型的拷贝构造函数和默认构造函数后续章节有介绍
3.vector对象的操作
v.push_back(t) ; // 在数组的最后添加一个值为t的数据
v.size() ; // 当前使用数据的大小 返回vector<T>::size_type类型的长度值,例如:vector<int>::size_type,其意义类似上面讲过的string::size_type
v.empty() ; // 判断vector是否为空
v[n] ; // 返回v中位置为n的元素 和string类型下标操作类似 是个左值操作
v1=v2 ; // 把v1的元素替换为v2元素的副本
v1==v2 ; // 判断v1与v2是否相等
!=、<、<=、>、>= ; // 保持这些操作符惯有含义
4.vector下标操作
vector下标操作与string下标操作类似,需要注意的是:
1)下标操作的vector<T>不能为空,必须是已存在的元素才能用下标操作
vector<int> ivec;//空的vectorcout<<ivec[0];//错误因此下标操作不能用于添加元素
vector<int> ivec;for(vector<int>::size_type ix=0;ix!=10;++ix)<span style="white-space:pre"></span>ivec[ix]=ix;//err<span style="white-space:pre"></span>ivec.push_back(ix);ok2)下标操作不能越界
- C++Primer 学习笔记 第三章(标准库类型)
- C++primer学习笔记-第三章标准库类型
- C++ Primer学习笔记- 第三章:标准库类型之二
- C++Primer笔记 第三章 标准库类型
- 【C++ Primer】【学习笔记】【第三章】标准库类型之:string类型
- 【C++ Primer】【学习笔记】【第三章】标准库类型之:vector类型
- 【C++ Primer】【学习笔记】【第三章】标准库类型之:bitset类型
- C++ Primer学习笔记- 第三章:标准库类型之一
- C++Primer学习笔记第三章(3/18) 标准库类型
- 《C++Primer》 第三章 标准库类型
- C++primer第三章:标准库类型
- C++ Primer学习笔记- 第三章:标准库类型之三
- C++ Primer学习笔记- 第三章:标准库类型之四
- 【C++Primer学习笔记】第3章 标准库类型
- C++primer第4版第三章标准库类型
- C++ Primer 第三章 标准库类型 笔记
- (笔记)C++ Primer/第三章 标准库类型
- 《c++ primer》第三章标准库类型学习笔记整理_2010/11/06
- 文件的输入输出 part1
- OpenSSL创建客户端、服务器证书,ios双向https认证
- 分享我在ios培训的那些事
- 《穆斯林的葬礼》读后感
- 突破上下文约束的泛型迁移计算模型
- C++ Primer学习笔记- 第三章:标准库类型之二
- poj2769
- notifyDataSetChanged() 动态更新ListView
- GPS导航模块数据的监听
- POI实现Excel插入图片
- 字符转为Unicode编码的小方法
- POJ 3680 Intervals(离散化+费用流)
- python网络爬虫学习笔记
- 自动调整linux系统时间和时区与Internet时间同步