标准 IO 库
istream(输入流)类型,提供输入操作。
ostream(输出流)类型,提供输出操作。
cin(发音为 see-in):读入标准输入的 istream 对象。
cout(发音为 see-out):写到标准输出的 ostream 对象。
cerr(发音为 see-err):输出标准错误的 ostream 对象。cerr 常用于
程序错误信息。
>> 操作符,用于从 istream 对象中读入输入。
<< 操作符,用于把输出写到 ostream 对象中。
getline 函数,需要分别取 istream 类型和 string 类型的两个引用形
参,其功能是从 istream 对象读取一个单词,然后写入 string 对象中。
IO 标准库管理一系列条件状态
(condition state)成员,用来标记给定的 IO 对象是否处于可用状态,或者
碰到了哪种特定的错误。
第二部分:容器和算法
第九章. 顺序容器
顺序容器适配器包括 stack、queue 和 priority_queue 类型.
#include <vector>
#include <list>
#include <deque>
为了使程序更清晰、简短,容器类型最常用的构造函数是默认
构造函数。在大多数的程序中,使用默认构造函数能达到最佳
运行时性能,并且使容器更容易使用。
将一个容器复制给另一个容器时,类型必须匹配:容器类型和
元素类型都必须相同。
接受容器大小做形参的构造函数只适用于顺序容器,而关联容
器不支持这种初始化。
9.2. 迭代器和迭代器范围
list 容器的迭代器既不支持算术运算(加法或减法),也不支
持关系运算(<=, <, >=, >),它只提供前置和后置的自增、自减运算以及相等
(不等)运算。
C++ 语言使用一对迭代器标记迭代器范围(iterator range),这两个迭代
器分别指向同一个容器中的两个元素或超出末端的下一位置,
通常将它们命名为
first 和 last,或 beg 和 end,用于标记容器中的一段元素范围。
尽管 last 和 end 这两个名字很常见,但是它们却容易引起误解。其实第
而是指向最后一个元素的
二个迭代器从来都不是指向元素范围的最后一个元素,
下一位置。
此类元素范围称为左闭合区间(left-inclusive interval),其标准表示
方式为:
// to be read as: includes first and each element up to but not
including last
[ first, last )
所有的容器类型都支持用关系操作符(第 5.2 节)来实现两个容器的比较。
显比较的容器必须具有相同的容器类型,而且其元素类型也必须相同。
所有容器都通过比较其元素对来实现关系运算:
假设 ivec1 和 ivec2 都是 vector<int> 类型的容器,则上述比较使用了
内置 int 型定义的小于操作符。
如果这两个 vector 容器存储的是 strings 对
象,则使用 string 类型的小于操作符。
分享到:
相关推荐
【C++学习笔记【原创】】是一份作者个人长期积累的C++学习心得与经验总结,旨在为初学者提供一个参考的学习路径。这份笔记涵盖了C++的基础知识、编程技巧以及函数语法等多个方面,帮助读者逐步掌握这门强大的编程...
这份笔记结合了书本内容的摘录和作者个人的理解,其中包含了7章原创内容以及14章从CSDN网站上整理摘抄的部分,这些章节可能有所重叠,但无疑为学习者提供了丰富的资源。 C++模板是C++语言中的一个强大工具,它允许...
了解函数的声明、定义、参数传递以及如何返回值是学习C++的关键步骤。 3. **数组与指针**:数组是一组相同类型的数据集合,而指针是存储内存地址的变量。理解指针的概念,掌握指针运算和动态内存分配(如malloc, ...
### iOS开发教程(大神原创笔记)核心知识点详解 #### 一、Unix相关知识点 **1. Unix指令:** - **pwd**:用于显示当前所在目录的位置。 - **ls**:列出当前目录下的所有文件及文件夹。 - **ls –l**:以详细...
最近开始学习非关系型数据库MongoDB,却在博客园上找不到比较系统的教程,很多资料都要去查阅英文网站,效率比较低下。本人不才,借着自学的机会把心得体会都记录下来,方便感兴趣的童鞋分享讨论。部分资源出自...
陌溪的学习笔记 关于我 陌溪 是一个从三本院校一路摸滚翻爬上来的程序员。目前就职于 字节跳动的Data广告部门,是字节跳动全线产品的商业变现研发团队。这两天创建了一个 微信公众号【陌溪教你学编程】,未来将会在...
综上所述,这个压缩包"PAT甲级所有代码.7z"是一个宝贵的资源,对于准备参加PAT甲级竞赛或提升C++编程和算法能力的学习者来说,可以从中学习到实际的编程技巧,了解如何将理论知识应用于实践,同时也可以通过分析和...
总的来说,这个压缩包提供了一个完整的、原创的记事本项目的实例,对于想要学习编程尤其是文本编辑器开发的初学者来说,是一个宝贵的资源。通过这个项目,你可以了解到软件的基本架构、文件处理、用户界面设计等多个...
由于本人水平有限,仓库中的知识点有来自本人原创、读书笔记、书籍、博文等,非原创均已标明出处,如有遗漏,请 向issue 提出。此仓库引用于issue! 只面向初学者用于学习参考~ :bookmark_tabs: 目录 :plus: C/C++ ...
描述:"大神原创的iOS开发教程,内容全面,覆盖OC及iOS开发全部技术细节内容,值得认真学习" 标签:"iOS 移动开发 Objective-C iOS开发 教程" 部分内容: 1. iOS开发基础介绍:开发者拥有丰富的Android、iOS、PHP和...
7. **项目或研究**:可能包含学生或教师进行的原创性研究,比如基于C++的软件开发项目。 8. **源代码**:如果涉及软件开发,这里可能会有C++项目的源代码,展示实际编程实践。 9. **论坛或讨论区**:可能有一个交互...
因此我在做三维姿态上位机过程中,又学习了一下SharpGL,当然很感谢官方的源码例程,基本所有的操作都是跟着官方例程来的。在这里分享一下: ———————————————— 版权声明:本文为CSDN博主「川北97...
- 学生按成绩排名,前70名晋级,同时设有奖励机制,包括个人操行成绩加分和实物奖励(如笔记本),并激励班级参与,以提升整体学习氛围。 2. **代码书写阶段**: - 晋级的学生可自由组队参赛,每队1至3人,可以...
标题 "自己开发的俄罗斯方块" 暗示了这是一个由个人或小团队独立完成的电子游戏项目,其中主要的编程语言可能是C++、Python、Java等,因为这些语言广泛用于游戏开发。俄罗斯方块是一款经典的休闲游戏,其基本原理是...
6. **克里尼代数**:这部分内容深入研究了正则语言和正则表达式的数学基础——克里尼代数。克里尼代数是一种用于形式化描述正则语言的代数系统,对于理解和设计字符串匹配算法非常重要。 7. **二项堆和斐波那契堆**...
它分为多个级别,如初级、中级和高级,涵盖C/C++、Java、Python等编程语言,以及数据结构、算法分析等多个IT领域的知识。试题通常会包括选择题、填空题和编程题,涉及的内容广泛且深入。 "蓝桥杯试题及参考答案欢迎...
中国科学技术大学课程资源本仓库收录中国科学技术大学众多课程资源的笔记,总结,经验等学生原创内容目录索引版权说明本仓库分享资料遵守其创作者之规定,由同学自愿投稿,仅接收学生原创的或获得授权的资源。...
- **营造良好氛围**:构建一个有利于学习和研究的良好环境,提高教学质量。 #### 二、大赛流程 1. **资格赛阶段** - **时间**:待定。 - **形式**:笔试,包含客观题。 - **参赛资格**:面向全体在校生,可以...