摘要: 程序编译 程序的编译流程大体可分为编辑、预处理、编译和链接4个步骤。 1. 编辑 编辑程序:将源文件输入计算机进行修改和保存的过程就称为“编辑”。 2. 预处理 预处理器是在真正的编译开始之前由编译器调用的独立程序。预处理器可以删除注释、包含文件以及执行宏替代。 预处理器在编译器之前根据指令更改程序 阅读全文
posted @ 2017-07-01 20:19 halo_vagabond 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 专题--顺序容器操作方法 阅读全文
posted @ 2017-06-26 09:10 halo_vagabond 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 顺序容器--额外的string操作 除了顺序容器共同的操作之外,string类型还提供了一些额外的操作。这些操作中大致可以分为两部分: 1. 提供string类和C风格字符出租之间的相互转换; 2. 增加了允许我们用下标代替迭代器的版本。 构造string的其他方法 s是string s2 从下标p 阅读全文
posted @ 2017-06-25 21:49 halo_vagabond 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 18.3 多重继承与虚继承 规则基本与“单继承”是一样的,在次记录几点需要关注的点! 派生类构造函数初始化所有基类 构造一个派生类的对象将同时初始化它的所有基类子对象。多重继承的派生类的构造函数初始值也只能初始化它的直接基类: 基类的构造顺序与派生列表中基类的出现顺序保持一致,而与派生类构造函数初始 阅读全文
posted @ 2017-06-25 16:25 halo_vagabond 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 专题--查找 1. 二分查找 阅读全文
posted @ 2017-06-25 16:24 halo_vagabond 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 在C语言中,static关键字至少有下列几个作用: 1. 函数体内static变量的作用范围为该函数体,不同于auto变量(普通变量),该变量的内存只被分配一次,因此其值在下次调用时扔维持上次的值。 2. 在模块内的static全局变量可以被模块内所有函数访问,但不能被模块外其他函数访问。 3. 在 阅读全文
posted @ 2017-06-23 16:14 halo_vagabond 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 专题--类初始化列表 1.类成员为const类型 原因:const对象一旦创建后其值就不能改变,所以const对象必须初始化。 2.类成员为引用类型 原因:const对象和引用类型都只能初始化而不能赋值。构造函数体内只能实现赋值,初始化列表是初始化这两种类型成员的唯一机会。 初始化和赋值是不同的概念 阅读全文
posted @ 2017-06-20 16:51 halo_vagabond 阅读(644) 评论(0) 推荐(0) 编辑
摘要: 第14章 重载运算与类型转换 重载函数调用运算符: 阅读全文
posted @ 2017-06-19 19:38 halo_vagabond 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 第15章 面向对象程序设计 一、OOP概述 1.面向对象程序设计的核心思想:数据抽象(封装)、继承和动态绑定(多态性)。 通过数据抽象,我们可以将类的接口与实现分离;使用继承,可以定义相似的类型并对其相似关系建模;使用动态绑定,可以在一定程度上忽略相似类型的区别,而以统一的方式使用它们的对象。 封装 阅读全文
posted @ 2017-06-16 18:41 halo_vagabond 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 类的静态成员(static) 有时候,类需要它的一些成员与类本身直接相关,而不是与类的各个对象保持关联。 声明静态成员 可以使public/private的,类型可以使常量、引用、指针、类类型等。 对象中不包含任何与静态数据成员有关的数据。因此,每个Account对象将包含两个数据成员:owner和 阅读全文
posted @ 2017-06-13 18:04 halo_vagabond 阅读(507) 评论(0) 推荐(0) 编辑