- 博客(17)
- 资源 (4)
- 收藏
- 关注
原创 C++ Primer 4 第十八章 特殊工具与技术
第十八章 特殊工具与技术 1. 优化内存分配 C++ 提供下面两种方法分配和释放未构造的原始内存: 1)allocator 类,它提供可感知类型的内存分配。这个类支持一个抽象接口,以分配内存并随后使用该内存保存对象。 2)标准库中的operator new 和 operator delete,它们分配和释放需要大小的原始的、未类型化的内存。 C++ 还
2012-02-29 17:33:00 422
原创 C++ Primer 4 第十七章 用于大型程序的工具
第十七章 用于大型程序的工具 1. 异常处理 异常是通过抛出对象而引发的。该对象的类型决定应该激活哪个处理代码。被选中的处理代码是调用链中与该对象类型匹配且离抛出异常位置最近的那个. 执行 throw 的时候,不会执行跟在 throw 后面的语句,而是将控制从 throw 转移到匹配的 catch,该 catch 可以是同一函数中局部的 catch,也可以在直接或间接调用发生异常的函数的另一个
2012-02-29 17:32:26 498
原创 C++ Primer 4 第十六章 模板和泛型编程
第十六章 模板和泛型编程 1. 模板定义 定义函数模板:函数模板是一个独立于类型的函数,可作为一种方式,产生函数的特定类型版本。模板定义以关键字 template 开始,后接模板形参表,模板形参表是用尖括号括住的一个或多个模板形参的列表,形参之间以逗号分隔。模板形参表不能为空。 // implement strcmp-like generic compare functi
2012-02-29 17:31:43 562
原创 C++ Primer 4 第十五章 面向对象编程
第十五章 面向对象编程 1. 面向对象编程:概述 在 C++ 中,基类必须指出希望派生类重写哪些函数,定义为 virtual 的函数是基类期待派生类重新定义的,基类希望派生类继承的函数不能定义为虚函数。在 C++ 中,通过基类的引用(或指针)调用虚函数时,发生动态绑定。引用(或指针)既可以指向基类对象也可以指向派生类对象,这一事实是动态绑定的关键。用引用(或指针)调用的虚函数在运行时确定,被调
2012-02-29 17:31:00 391
原创 C++ Primer 4 第十四章 重载操作符与转换
第十四章 重载操作符与转换 1. 重载操作符的定义 重载操作符是具有特殊名称的函数:保留字 operator 后接需定义的操作符号。像任意其他函数一样,重载操作符具有返回类型和形参表,如下语句: Sales_item operator+(const Sales_item&, const Sales_item&); 可以重载的操作符: + -
2012-02-29 17:30:14 471
原创 C++ primer 4 第十三章 复制控制
第十三章 复制控制 复制构造函数、赋值操作符和析构函数总称为复制控制。编译器自动实现这些操作,但类也可以定义自己的版本。 当定义一个新类型的时候,需要显式或隐式地指定复制、赋值和撤销该类型的对象时会发生什么——这是通过定义特殊成员:复制构造函数、赋值操作符和析构函数来达到的。如果没有显式定义复制构造函数或赋值操作符,编译器(通常)会为我们定义。
2012-02-29 17:29:34 365
原创 C++ Primer 4 第十二章 类
第十二章 类 1. 类的定义和声明 成员函数:在类内部定义的函数默认为 inline,在类外部定义的成员函数必须指明它们是在类的作用域中。成员函数有一个附加的隐含实参,将函数绑定到调用函数的对象。将关键字 const 加在形参表之后,就可以将成员函数声明为常量:double avg_price() const; const 成员不能改变其所操作的对象的数据成员。const 必须同时出现在声明和
2012-02-29 17:28:59 384
原创 C++ Primer 4 第十一章 泛型算法
第十一章 泛型算法 1. 概述 算法永不执行容器提供的操作:泛型算法本身从不执行容器操作,只是单独依赖迭代器和迭代器操作实现。算法基于迭代器及其操作实现,而并非基于容器操作。这个事实也许比较意外,但本质上暗示了:使用“普通”的迭代器时,算法从不修改基础容器的大小。正如我们所看到的,算法也许会改变存储在容器中的元素的值,也许会在容器内移动元素,但是,算法从不直接添加或删除元素。 2. 初窥算法
2012-02-29 17:28:19 374
原创 C++ Primer 4 第十章 关联容器
第十章 关联容器 关联容器和顺序容器的本质差别在于:关联容器通过键(key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。 1. 引言:pair 类型 pair 包含两个数据值。与容器一样,pair 也是一种模板类型。但又与之前介绍的容器不同,在创建 pair 对象时,必须提供两个类型名:pair 对象所包含的两个数据成员各自对应的类型名字
2012-02-29 17:27:40 469
原创 C++ Primer 4 第九章 顺序容器
第九章 顺序容器 顺序容器内的元素按其位置存储和访问。标准库定义了三种顺序容器类型:vector、list 和 deque。它们的差别在于访问元素的方式,以及添加或删除元素相关操作的运行代价。标准库还提供了三种容器适配器。实际上,适配器是根据原始的容器类型所提供的操作,通过定义新的操作接口,来适应基础的容器类型。顺序容器适配器包括 stack、queue 和 priority_queue 类型
2012-02-29 17:27:05 489
原创 C++ Primer 4 第八章 标准 IO 库
第八章 标准 IO 库 1. 面向对象的标准库 IO 类型在三个独立的头文件中定义:iostream 定义读写控制窗口的类型,fstream 定义读写已命名文件的类型,而 sstream 所定义的类型则用于读写存储在内存中的 string 对象。在 fstream 和 sstream 里定义的每种类型都是从 iostream 头文件中定义的相关类型派生而来。istream 是 ifstream
2012-02-29 17:26:23 409
原创 C++ Primer 4 第七章 函数
第七章 函数 1. 函数的定义 函数调用做了两件事情:用对应的实参初始化函数的形参,并将控制权转移给被调用函数。主调函数的执行被挂起,被调函数开始执行。函数的运行以形参的(隐式)定义和初始化开始。 与初始化式的类型必须与初始化对象的类型匹配一样,实参的类型也必须与其对应形参的类型完全匹配:实参必须具有与形参类型相同、或者能隐式转换为形参类型的数据类型。 函数不能返回另一个函数或者内置数组类
2012-02-29 17:25:51 457
原创 C++ Primer 4 第六章 语句
第六章 语句 1. 简单语句 程序语句最简单的形式是空语句,它使用以下的形式(只有一个单独的分号):; // null statement 2. 声明语句 3. 复合语句(块) 复合语句,通常被称为块,是用一对花括号括起来的语句序列(也可能是空的)。块标识了一个作用域,在块中引入的名字只能在该块内部或嵌套在块中的子块里访问。通常,一个名字只从其定义处到该块的结尾这段范围内可见。 与其
2012-02-29 17:25:05 396
原创 C++ Primer 4 第五章 表达式
第五章 表达式 1. 算术操作符 操作符 % 称为“求余(remainder)”或“求模(modulus)”操作符,用于计算左操作数除以右操作数的余数。该操作符的操作数只能为整型,包括 bool、char、short 、int 和 long 类型,以及对应的 unsigned 类型。 2. 关系操作符和逻辑操作符 逻辑与和逻辑或操作符总是先计算其左操作数
2012-02-29 17:24:37 356
原创 C++ Primer 4 第四章 数组和指针
第四章 数组和指针 1. 数组 数组定义中的类型名可以是内置数据类型或类类型;除引用之外,数组元素的类型还可以是任意的复合类型。没有所有元素都是引用的数组。 数组的维数必须用值大于等于1的常量表达式定义。此常量表达式只能包含整型字面值常量、枚举常量或者用常量表达式初始化的整型 const 对象。非 const 变量以及要到运行阶段才知道其值的 const 变
2012-02-29 17:24:01 519
原创 C++ Primer 4 第三章 标准库类型
1. 命名空间的 using 声明 使用 using 声明可以在不需要加前缀 namespace_name:: 的情况下访问命名空间中的名字。using 声明的形式如下: using namespace::name; 一个 using 声明一次只能作用于一个命名空间成员。using 声明可用来明确指定在程序中用到的命名空间中的名字,如果希望使用
2012-02-29 17:23:11 336
原创 C++Primer 4 第二章 变量和基本类型
第二章 变量和基本类型 1. 基本内置类型 C++定义了一组表示整数、浮点数、单个字符和布尔值的算术类型,另外还定义了一种称为void的特殊类型。void 类型没有对应的值,仅用在有限的一些情况下,通常用作无返回值函数的返回类型。 算术类型的存储空间依机器而定。C++标准规定了每个算术类型的最小存储空间,但它并不阻止编译器使用更大的存储空间。 整型:表示
2012-02-29 17:22:22 539
《C++ Primer 4 Answer Book》 整理
2011-12-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人