文章 2017-05-02 来自:开发者社区

C++程序设计:原理与实践(进阶篇)15.7 vector、list和string

15.7 vector、list和string 为什么我们对行用list而对字符用vector呢?更准确地说,我们为什么要用list保存行的序列而用vector保存字符序列呢?再有,为什么不用string来存储一行呢? 我们可以把这些问题再一般化一些。到现在为止,我们知道了四种存储字符序列的方法: char[](字符数组); vector<char>; string; list&...

文章 2017-05-02 来自:开发者社区

C++程序设计:原理与实践(进阶篇)15.6 实例:一个简单的文本编辑器

15.6 实例:一个简单的文本编辑器 列表最重要的性质就是可以在不移动元素的情况下对其进行插入或删除操作。下面我们通过一个例子来说明这一点。考虑应该如何在文本编辑器中表示一个文本文件中的字符。所选用的表示方式应当能够使对文本文件进行的操作简单而高效。 那么具体会涉及哪些操作呢?假设文件能存储在计算机的内存中。也就是说,我们可以选择任何一种适合的表示方式,当需要保存到文件中时,只要把它转换成一个.....

文章 2017-05-02 来自:开发者社区

C++程序设计:原理与实践(进阶篇)15.5 再次泛化vector

15.5 再次泛化vector 显然,通过15.3~15.4节的例子我们发现,标准库vector包含一个iterator成员类型,以及begin()和end()成员函数(与std::list类似)。然而,我们并没有在第14章中为vector类提供这些成员。那么,对于不同类型的容器而言,它们究竟采用了什么方法,以使它们或多或少地能够在15.3节所介绍的STL泛型编程风格中相互替换使用?首先,我们.....

文章 2017-05-02 来自:开发者社区

C++程序设计:原理与实践(进阶篇)15.4 链表

15.4 链表 下面让我们再回顾一下序列概念的图形表示:   将它与我们描绘vector内存结构的示意图相比较:   下标0本质上与迭代器v.begin()一样都指向同一个元素,并且下标v.size()与v.end()一样都指向最后一个元素之后的位置。 vector的元素在内存中是连续存储的。这并非STL序列概念所要求的特性,因此在STL中,很多算法在将一个元素插入两个已有元素...

文章 2017-05-02 来自:开发者社区

C++程序设计:原理与实践(进阶篇)15.3 序列和迭代器

15.3 序列和迭代器 序列是STL中的核心概念。从STL的角度来看,数据集合就是一个序列。序列具有头部和尾部。我们可以对一个序列从头到尾进行遍历,对序列中的元素进行有选择的读写操作。我们利用一对迭代器来表示序列头部和尾部。迭代器(iterator)是一种可以标识序列中元素的对象。我们可以按照如下方式来看待一个序列:   这里的begin与end就是迭代器,它们标识了序列的头部和尾部。我...

文章 2017-05-02 来自:开发者社区

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.....

文章 2017-05-02 来自:开发者社区

《 C++程序设计:原理与实践(进阶篇.》导读

本节书摘来自华章出版社《 C++程序设计:原理与实践(进阶篇)》一书中作者[美] 本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 著 刘晓光 李忠伟 王刚 译   更多章节内容可以访问云栖社区“华章计算机”公众号查看。   前 言 Programming: Principles and Practice Using C++, Second Edition 该死的鱼...

文章 2017-05-02 来自:开发者社区

C++程序设计:原理与实践(进阶篇)17.8 让图形程序运行起来

17.8 让图形程序运行起来 我们已经看到了如何创建窗口以及如何在窗口中绘制各种各样的形状。在后续章节中,我们将会看到这些Shape类是如何定义的,以及它们更多的使用方法。 为了使这个图形程序运行起来,还需要其他程序的帮助。除了主函数中已有的代码外,我们还需要编译接口库代码,安装FLTK库(或者所使用的任何GUI系统),并将它与我们的代码正确地链接在一起,才能让这个图形程序运行起来。 我们可以.....

文章 2017-05-02 来自:开发者社区

C++程序设计:原理与实践(进阶篇)17.7 使用Shape类

17.7 使用Shape类 本节介绍图形库的一些基本工具:Simple_window、Window、Shape、Text、Polygon、Line、Lines、Rectangle、Function、Color、Line_style、Point、Axis。目的是让你知道这些工具能够实现什么功能,而并非详细理解某个类。下一章将会介绍每个类的设计与实现。 下面来学习一个简单的程序,我们将逐行解释代码.....

文章 2017-05-02 来自:开发者社区

C++程序设计:原理与实践(进阶篇)17.6 Shape

17.6 Shape 我们提供的基本绘图工具包由12个类构成:   箭头表示:当需要箭头头部的类时,可以使用尾部的类。例如:当需要一个Shape时,我们可以提供一个Polygon,也就是说,Polygon是一种Shape。 我们将从以下类开始进行介绍: Simple_window、Window。 Shape、Text、Polygon、Line、Lines、Rectangle、Functi...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等