vector是一个类模板(c++还有函数模板),编译器需要实例化。

1. 定义和初始化vector对象

类型名称 类型定义
vector v1 空vector
vector v2(v1) v1
vector v3(n,val) n个val
vector v4(n) v4包含了n个重复地执行了值初始化的对象
vector v5{a,b,c…} 列表初始化
vector v5={a,b,c…} 等价于上面

1.1 值初始化

vector<int> ivec(10);//10个元素,每个都初始化为0
vector<string> svec(10);//10个元素,每个都是空string对象

1.2 特殊限制:

● 如果vector中元素的类型不支持默认初始化,就必须提供初始的元素值。

2. 迭代器

end(不存在的那个)
begin

2.1 迭代器类型

vector<string>::iterator iter;
string::iterator iter;vector<string>::const_iterator iter;
string::const_iterator iter;vector<string> v1;
const vector<string> v2;auto it1 = v1.begin();//vector<string>::iterator 类型
auto it2 = v2.begin();//vector<string>::const_iterator 类型
auto it3 = v.begin();//vector<string>::const_iterator 类型

2.2 解引用

写法:(it).empty()不是it.empty()
或it->mem

2.3 注意:push_back会是迭代器无效

2.4 difference_type:迭代器相减,带符号的

2.5 迭代器二分查找算法

C++ Primer 5th笔记(3)字符串、向量和数组:向量vector相关推荐

  1. C++ Primer 5th笔记(3)字符串、向量和数组:数组

    1. 数组性质 .大小确定不变. .不能copy和赋值 int a[] = {1} int b[] = a;//error b = a;//error 1.1 一些理解复杂的数组类型: int *pt ...

  2. C++ Primer 5th笔记(3)字符串、向量和数组:字符串

    1. 命名空间using using std::cin; cin << ""; 疑问:头文件不应包含using声明?(说是产生名字冲突) 2. string 2.1拷贝 ...

  3. C++ Primer 5th笔记(chap 12 动态内存)动态数组

    1. 初始化动态分配对象的数组 int *pia=new int[10]; //10个没有初始化的int int *pia2=new int[10](); //10个初始化为0的int string ...

  4. c++ primer 5th 笔记:第二章

    第二章:变量和基本类型 笔记: 1. c++语言规定一个int至少和一个short一样大,一个long至少和一个int一样大,一个long long至少和一个long一样大.其中,数据类型long l ...

  5. C++ Primer 5th笔记(chap 17 标准库特殊设施)regex_replace

    1. 定义 在输入序列中查找并替换一个正则表达式 操作 解释 m.format(dest, fmt, mft), m.format(fmt, mft) 使用格式字符串fmt生成格式化输出,匹配在m中, ...

  6. C++ Primer 5th笔记(chap 19 特殊工具与技术)异常类层次

    1. 类 exception . bad_cast 和 bad_alloc 定 义 了 默 认 构 造 函 数 runtime_error 和 logic_error没有默认构造函数, 但是有一个可以 ...

  7. C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式

    1. 正则表达式语言 ECMAScript 模式[ [::alpha: ] ] 匹配任意字母 符号+和*分别表示我们希望" 一个或多个" 或" 零个或多个" 匹 ...

  8. C++ Primer 5th笔记(chap 16 模板和泛型编程)模板特例化

    1. 场景 //第一个版本:可以比较任意两个类型 template <typename T> int compare (const T &, const T & );//第 ...

  9. C++ Primer 5th笔记(chap 16 模板和泛型编程)重载模板和类型转换

    1. C 风格字符串指针和字符串字面常量 cout « debug_rep ("hi world!" ) << endl; / / 调用 debug_rep (T* ) ...

最新文章

  1. 配置导出MOSS2010列表数据到Excel并根据列表记录自动刷新数据
  2. 用IKVMC将jar转成dll供c#调用
  3. visual studio 2017 添加自定义代码片段 .snippet文件
  4. mac应用开发入门笔记
  5. php用于字符串函数是,php中用于查找字符串的常用函数
  6. 面试者为何从来得不到反馈?
  7. eas库存状态调整单不能反审核_把握 商品 周转,做好 动态 库存 管理
  8. 浏览器渲染原理 记录备份
  9. 「Photoshop 入门教程」了解 Photoshop 工作区
  10. 虚拟主机下asp.net 2.0的验证控件失效
  11. 初探MySQL的语句之一
  12. python利用flask_mail、sendgrid发送邮件
  13. KO data-bind=“click: func“函数自动执行问题
  14. 关于新光源建设的一些想法
  15. 基于java+SpringBoot+HTML+MySQL精准扶贫网站的设计与实现
  16. python 获取本机IP地址
  17. 网络工程管理 第七章 应用层协议 万维网 DNS 电子邮件 FTP DHCP TELNET
  18. margin-left:-100%理解
  19. 删除Github中已有仓库或文件
  20. 06-ASP(母版页)

热门文章

  1. Android --- RecyclerViwe中使用SnapHelper报错:“An instance of OnFlingListener already set.”
  2. 解决Error: Cannot find module 'node-sass'问题
  3. php 如何启动ica文件,IE11打开ICA文件时无法直接调用Citrix Receiver?
  4. 冷板式液冷--液冷服务器(6-2)
  5. Gartner:基础设施和运营领域10大技术趋势
  6. 数据中心能效指标有哪些?怎么计算?
  7. ETH:Windows搭建ETH(区块链技术)利用Web端和小程序端两种方式调用ETH上的SC智能合约
  8. Py之smtplib:smtplib(aiosmtplib)的简介、安装、使用方法之详细攻略
  9. HighNewTech:横向、纵向动图查看《Why资本寒冬》——根据中国四大行每年(2004年~2018年)贷款主要流向来看当下的资本寒冬
  10. Py之PyMySQL:Python库之PyMySQL的简介、安装、使用方法之详细攻略