C++ Primer 5th笔记(3)字符串、向量和数组:向量vector
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相关推荐
- C++ Primer 5th笔记(3)字符串、向量和数组:数组
1. 数组性质 .大小确定不变. .不能copy和赋值 int a[] = {1} int b[] = a;//error b = a;//error 1.1 一些理解复杂的数组类型: int *pt ...
- C++ Primer 5th笔记(3)字符串、向量和数组:字符串
1. 命名空间using using std::cin; cin << ""; 疑问:头文件不应包含using声明?(说是产生名字冲突) 2. string 2.1拷贝 ...
- C++ Primer 5th笔记(chap 12 动态内存)动态数组
1. 初始化动态分配对象的数组 int *pia=new int[10]; //10个没有初始化的int int *pia2=new int[10](); //10个初始化为0的int string ...
- c++ primer 5th 笔记:第二章
第二章:变量和基本类型 笔记: 1. c++语言规定一个int至少和一个short一样大,一个long至少和一个int一样大,一个long long至少和一个long一样大.其中,数据类型long l ...
- C++ Primer 5th笔记(chap 17 标准库特殊设施)regex_replace
1. 定义 在输入序列中查找并替换一个正则表达式 操作 解释 m.format(dest, fmt, mft), m.format(fmt, mft) 使用格式字符串fmt生成格式化输出,匹配在m中, ...
- C++ Primer 5th笔记(chap 19 特殊工具与技术)异常类层次
1. 类 exception . bad_cast 和 bad_alloc 定 义 了 默 认 构 造 函 数 runtime_error 和 logic_error没有默认构造函数, 但是有一个可以 ...
- C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式
1. 正则表达式语言 ECMAScript 模式[ [::alpha: ] ] 匹配任意字母 符号+和*分别表示我们希望" 一个或多个" 或" 零个或多个" 匹 ...
- C++ Primer 5th笔记(chap 16 模板和泛型编程)模板特例化
1. 场景 //第一个版本:可以比较任意两个类型 template <typename T> int compare (const T &, const T & );//第 ...
- C++ Primer 5th笔记(chap 16 模板和泛型编程)重载模板和类型转换
1. C 风格字符串指针和字符串字面常量 cout « debug_rep ("hi world!" ) << endl; / / 调用 debug_rep (T* ) ...
最新文章
- 配置导出MOSS2010列表数据到Excel并根据列表记录自动刷新数据
- 用IKVMC将jar转成dll供c#调用
- visual studio 2017 添加自定义代码片段 .snippet文件
- mac应用开发入门笔记
- php用于字符串函数是,php中用于查找字符串的常用函数
- 面试者为何从来得不到反馈?
- eas库存状态调整单不能反审核_把握 商品 周转,做好 动态 库存 管理
- 浏览器渲染原理 记录备份
- 「Photoshop 入门教程」了解 Photoshop 工作区
- 虚拟主机下asp.net 2.0的验证控件失效
- 初探MySQL的语句之一
- python利用flask_mail、sendgrid发送邮件
- KO data-bind=“click: func“函数自动执行问题
- 关于新光源建设的一些想法
- 基于java+SpringBoot+HTML+MySQL精准扶贫网站的设计与实现
- python 获取本机IP地址
- 网络工程管理 第七章 应用层协议 万维网 DNS 电子邮件 FTP DHCP TELNET
- margin-left:-100%理解
- 删除Github中已有仓库或文件
- 06-ASP(母版页)
热门文章
- Android --- RecyclerViwe中使用SnapHelper报错:“An instance of OnFlingListener already set.”
- 解决Error: Cannot find module 'node-sass'问题
- php 如何启动ica文件,IE11打开ICA文件时无法直接调用Citrix Receiver?
- 冷板式液冷--液冷服务器(6-2)
- Gartner:基础设施和运营领域10大技术趋势
- 数据中心能效指标有哪些?怎么计算?
- ETH:Windows搭建ETH(区块链技术)利用Web端和小程序端两种方式调用ETH上的SC智能合约
- Py之smtplib:smtplib(aiosmtplib)的简介、安装、使用方法之详细攻略
- HighNewTech:横向、纵向动图查看《Why资本寒冬》——根据中国四大行每年(2004年~2018年)贷款主要流向来看当下的资本寒冬
- Py之PyMySQL:Python库之PyMySQL的简介、安装、使用方法之详细攻略