(C++ primer读书笔记)2013.3.19 zzy @Library4D

vector是同一种类型对象的集合,每个对象都有一个对应的整数索引值。vector称为容器。使用前包含vector头文件,并对名字vector做using申明。

1   #include<vector>
2   using std::vector;

vector是一个类模板,使用时通过将类型放在类模板名后的尖括号中来指明类型。如:

1   vector<int>
2
3   vector<string>
4
5   vector< vector<int> >

定义与初始化,vector支持几种构造函数

1   vector<Type>  v1;         //默认构造函数,v1为空
2
3   vector<Type>  v2(v1);     //v2是v1的一个副本
4
5   vector<Type>  v3(n, i);     //v3有n个值为i的元素
6
7   vector<Type>  v4(n);      //v4含有n个元素,每个元素默认初始化

几个vector对象定义和初始化的实例:

 1 vector<int> ivec0;
 2
 3 vector<int> ivec1(10);    //10 elements,each is 0
 4
 5 vector<int> ivec2(ivec1);
 6
 7 vector<int> ivec3 = ivec1;
 8
 9 vector<int> ivec4(10,5);  //10 elements,each is 5
10
11
12
13 vector< vector<int> > ivecvec1(2,ivec2);
14
15 vector< vector<int> > ivecvec2(2);
16
17
18
19 vector<string> svec1(10);
20
21 vector<string> svec2(10,"null");

vector对象的操作:

size成员函数返回vector对象中元素的个数,返回类型为vector<Type>::size_type,也可把该返回值赋值给算数类型。

empty成员函数测试vector对象是否为空,返回bool值。

1 vector<int> v(10);
2
3 vector<int>::size_type len = v.size();
4
5 cout << len << endl;
6
7 if(v.empty())
8
9     cout << "empty" << endl;

push_back函数向vector对象的末尾插入新元素,可以通过[ ]下表操作符来访问vector对象的元素。

 1 string word;
 2
 3 vector<string> text;
 4
 5 for(vector<string>::size_type i = 0; i != 10; ++i){
 6
 7     cin >> word;
 8
 9     text.push_back(word);
10
11 }
12
13 for(vector<string>::size_type i = 0; i != text.size(); ++i){
14
15     for(string::size_type j = 0; j != text[i].size(); ++j){
16
17         text[i][j] = toupper(text[i][j]);
18
19     }
20
21 }
22
23 for(vector<string>::size_type i = 0; i != text.size(); ++i){
24
25     cout << text[i] << endl;
26
27 }

转载于:https://www.cnblogs.com/Lattexiaoyu/archive/2013/03/19/2970176.html

C++ primer: C++标准库中vector类模板相关推荐

  1. C++primer 第 3 章 字符串、向量和数组 3 . 3 标准库类型vector

    标准库类型vector表示对象的集合,其中所有对象的类型都相同.集合中的每个对象都有一个与之对应的索引,索引用于访问对象.因为vector"容纳着"其他对象,所以它也常被称作容器( ...

  2. 【C++学习笔记】标准库类型vector

      标准库类型vector表示对象的集合,其中多有对象的类型都相同,集合中的每个对象都有一个与之对象的索引用来访问对象,需要注意的是引用不是对象,所以不存在包含引用的vector,因其用来容纳着其他对 ...

  3. C++ 标准库类型 vector

    C++ 标准库类型 vector 一.vector 的使用与定义 1.使用 vector 类型 标准库类型 vector 表示对象的集合,也称容器. #include <vector > ...

  4. C++标准库中的随机数生成

    C++标准库中的随机数生成 一.伪随机与真随机 数字计算机的结果可以说是固定的.必然的.都是根据现有数据的状态得出接下来的状态.除非硬件损坏,计算机不会产生真正的随机和无法预料的事.在生活中随手抛一个 ...

  5. 聊聊C++标准库,准标准库中关于时间的概念和用法

    概要 在实际C++业务开发中,经常需要使用系统API或者标准库去获取时间,计算时间的需求,其中,时间按概念又分时间段,时间点:按表达形式又分系统时间,本地时间:其实,获取到了时间,如何通过日志的方式把 ...

  6. C++标准库类型vector介绍

    3.3 标准库类型vector 标准库类型vector表示对象的集合,其中所有对象的类型都相同,集合中的每个对象都拥有一个与之对应的索引,索引用于访问对象,因为vector容纳着其他对象,所以也经常被 ...

  7. C++标准库中各种排序归纳

    一.简介 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.我们在编程过程中会经常接触到排序,比如游戏中的排行榜等.C++标准库中提供了各种不同的排序算法,这篇博 ...

  8. C++ 标准库中的异常

    1. 相关定义 标准库 c++ 异常类基类 std::exception 定义在文件 exception 中. class exception   {   public:     exception( ...

  9. php spl函数,PHP SPL标准库中的常用函数介绍

    这篇文章主要介绍了PHP SPL标准库中的常用函数介绍,本文着重讲解了spl_autoload_extensions().spl_autoload_register().spl_autoload()三 ...

最新文章

  1. 收藏 | 有哪些相见恨晚的科研经验?
  2. 解决mantis不能上传附件问题
  3. stm32 JTag 错误
  4. Web前端三剑客之HTML基础
  5. linux版azure应用服务,【应用服务 App Service】解决无法从Azure门户SSH登录问题
  6. python ==》 元组
  7. java视频压缩 lz4_一种视频序列帧的压缩方法、解压方法及装置与流程
  8. 对象流 ObjectInputStream java
  9. 二分答案——H指数(Leetcode 274)
  10. 【无人机】物流行业迈入“无人”时代!全自动智能无人机投入运营,成本直降80%!...
  11. lt;SCRIPT src=quot;../scripts/LoadWebOffice.jsquot;gt;lt;/SCRIPTgt;
  12. 构造一条二次bezier曲线_那些处处连续,处处不可导的曲线
  13. eplan mysql_EPLAN SQL Server 远程数据库的搭建
  14. 易筋SpringBoot 2.1 | 第九篇:SpringBoot使用Redis内存数据库
  15. 新创建虚拟机如何配置ip地址
  16. web前端开发技术(第3版)储久良著课后实验
  17. 手机红外鸿蒙,小技巧轻松解析红外光谱图,后悔没早知道
  18. 正交试验法生成测试用例工具PICT
  19. 网线不要离笔记本电源适配器太近
  20. 国内厉害的中式风格设计师有哪些人

热门文章

  1. Codeforces Round #292 (Div. 2):C. Drazil and Factorial
  2. 线性基(bzoj 2460: [BeiJing2011]元素)
  3. bzoj 1661: [Usaco2006 Nov]Big Square 巨大正方形(枚举)
  4. bzoj 1634: [Usaco2007 Jan]Protecting the Flowers 护花(贪心排序)
  5. 香农编码的 matlab 实现
  6. C++ STL 各种搜索查找算法总结使用
  7. 一个demo学会css
  8. ROM与RAM混合设计
  9. Docker Yearning + Inception SQL审核平台搭建
  10. Linux下的lds链接脚本简介(三)