C++程序设计:原理与实践(进阶篇)15.5 再次泛化vector
15.5 再次泛化vector 显然,通过15.3~15.4节的例子我们发现,标准库vector包含一个iterator成员类型,以及begin()和end()成员函数(与std::list类似)。然而,我们并没有在第14章中为vector类提供这些成员。那么,对于不同类型的容器而言,它们究竟采用了什么方法,以使它们或多或少地能够在15.3节所介绍的STL泛型编程风格中相互替换使用?首先,我们.....
C++程序设计:原理与实践(进阶篇)15.4 链表
15.4 链表 下面让我们再回顾一下序列概念的图形表示: 将它与我们描绘vector内存结构的示意图相比较: 下标0本质上与迭代器v.begin()一样都指向同一个元素,并且下标v.size()与v.end()一样都指向最后一个元素之后的位置。 vector的元素在内存中是连续存储的。这并非STL序列概念所要求的特性,因此在STL中,很多算法在将一个元素插入两个已有元素...
C++程序设计:原理与实践(进阶篇)15.3 序列和迭代器
15.3 序列和迭代器 序列是STL中的核心概念。从STL的角度来看,数据集合就是一个序列。序列具有头部和尾部。我们可以对一个序列从头到尾进行遍历,对序列中的元素进行有选择的读写操作。我们利用一对迭代器来表示序列头部和尾部。迭代器(iterator)是一种可以标识序列中元素的对象。我们可以按照如下方式来看待一个序列: 这里的begin与end就是迭代器,它们标识了序列的头部和尾部。我...
C++程序设计:原理与实践(进阶篇)15.2 STL理念
15.2 STL理念 C++标准库为处理数据序列提供了一个专门的框架,称为STL。STL是标准模板库(Standard Template Library)的简称。STL是ISO C++标准库的部分,它提供了容器(例如vector、list和map)和通用算法(例如sort、f?ind和accumulate)。因此我们可以称vector这类对象为STL或标准库的一部分。标准库的其他部分,例如os.....
《 C++程序设计:原理与实践(进阶篇.》导读
本节书摘来自华章出版社《 C++程序设计:原理与实践(进阶篇)》一书中作者[美] 本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 著 刘晓光 李忠伟 王刚 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。 前 言 Programming: Principles and Practice Using C++, Second Edition 该死的鱼...
C++程序设计:原理与实践(进阶篇)17.8 让图形程序运行起来
17.8 让图形程序运行起来 我们已经看到了如何创建窗口以及如何在窗口中绘制各种各样的形状。在后续章节中,我们将会看到这些Shape类是如何定义的,以及它们更多的使用方法。 为了使这个图形程序运行起来,还需要其他程序的帮助。除了主函数中已有的代码外,我们还需要编译接口库代码,安装FLTK库(或者所使用的任何GUI系统),并将它与我们的代码正确地链接在一起,才能让这个图形程序运行起来。 我们可以.....
C++程序设计:原理与实践(进阶篇)17.7 使用Shape类
17.7 使用Shape类 本节介绍图形库的一些基本工具:Simple_window、Window、Shape、Text、Polygon、Line、Lines、Rectangle、Function、Color、Line_style、Point、Axis。目的是让你知道这些工具能够实现什么功能,而并非详细理解某个类。下一章将会介绍每个类的设计与实现。 下面来学习一个简单的程序,我们将逐行解释代码.....
C++程序设计:原理与实践(进阶篇)17.6 Shape
17.6 Shape 我们提供的基本绘图工具包由12个类构成: 箭头表示:当需要箭头头部的类时,可以使用尾部的类。例如:当需要一个Shape时,我们可以提供一个Polygon,也就是说,Polygon是一种Shape。 我们将从以下类开始进行介绍: Simple_window、Window。 Shape、Text、Polygon、Line、Lines、Rectangle、Functi...
C++程序设计:原理与实践(进阶篇)17.5 坐标系
17.5 坐标系 计算机屏幕是一个像素组成的矩形区域,像素是一个可以设置为某种颜色的点。在程序中,最常见的方式就是将屏幕建模为像素组成的矩形区域,每个像素由x(水平)坐标和y(垂直)坐标确定。最左端的像素的x坐标为0,向右逐步递增,直到最右端的像素为止;最顶端的像素的y坐标为0,向下逐步递增,直到最底端的像素为止。 注意,y坐标是“向下增长”的。这可能有点奇怪,特别是对数学家而言。但...
C++程序设计:原理与实践(进阶篇)17.4 使用GUI库
17.4 使用GUI库 在本书中,我们不直接采用操作系统的图形和GUI(图形用户界面)工具,否则会将程序限制在一种特定的操作系统上,而且需要处理很多复杂的细节问题。与处理文本I/O一样,我们将使用一个函数库来消除操作系统间的差异、I/O设备的变化等问题,并简化程序代码。不幸的是,C++并没有提供一个像标准流I/O库一样的标准GUI库,于是我们从很多可用的C++ GUI库选择了一个。为了不局限于.....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
C++更多实践相关
开发与运维
集结各类场景实战经验,助你开发运维畅行无忧
+关注