《C++代码设计与重用》导读

简介:


14b4cb39eef7061088b2b81dcde982132e84d87d

前言

C++代码设计与重用
一切事物都将得到检验并因此被称为问题。

Edith Hamilton

这本书的主要目的在于:展示如何以C++编程语言编写可重用代码—就是说,根据不同的需要,在不经过修改,或者经过很少修改的前提下,可重用代码可以很容易地应用到5个、50个甚至500个程序当中,而且这些程序往往是不同程序员编写的,可能运行在不同的系统上。在整个阐述的过程中,我们的目的并不在于争论是否所有的代码都是可重用的,也不在于说明可重用代码能够解决所有的程序问题。显然,不论是对程序员而言,还是对可重用代码本身而言,提高代码的重用性都是需要代价的;通常只有当我们有理由相信所给代码在将来有可能会被重用时,我们才会付出这些重用的代价。因此,本书的目的在于详细分析重用性的这些代价,于是当你面对是否编写可重用代码的选择时,可以从容地做出明智的决定。

关于本书
本书主要面向的读者是:那些希望从书中包含的许多深层C++编程见解中受益的读者,或者是那些需要或希望学习如何编写可重用代码的读者。在论述过程中,我们假设读者已经知道如何编写正确的C++代码。

C++语言至今还没有经过标准化(译注:本书写作于1995年,C++于1997年标准化),任意两个不同的编译器实现支持的语言几乎都是不同(稍微不同或者相差很大)的。当我编写这本书的时候,并没有一个编译器实现可以完全支持ANSI/ISO C++标准中最终定义的整个语言特性;而且,就算对同类型的编译器而言,前后版本实现的语言特性也不尽相同。于是,编写一本对所有编译器都适用的书是很困难的,或者是不可能的。因此,当我们讨论或使用一些不能被主流C++编译器所实现的特性时,我们将会另加说明。

当声明本书中的代码例子被认为合法时,我们所指的合法性是以1994年9月份ANSI/ISO C++的工作文件(有时候也称为“标准草案”)[ANS94]为依据的。而且,在我们的代码例子里,我们将尽量避免使用那些我们认为在最终ANSI/ISO C++标准公布之前,很有可能会被删除或者进行重大修改的语言特性。

第1章 重用性介绍

1.1 什么是重用性
1.2 重用的神话
1.3 重用的障碍
1.4 希望是否尚存
1.5 这本书能给我们带来什么
1.6 练习
1.7 参考文献和相关资料

第2章 类的设计

2.1 抽象性
2.2 正规函数
2.3 Nice类
2.4 存在最小标准接口吗
2.5 浅拷贝和深拷贝
2.6 接口一致性
2.7 转型
2.8 const关键字的使用
2.9 总结
2.10 练习

相关文章
|
8月前
|
存储 缓存 算法
《C++ Concurrencyin Action》第8章--并发代码设计
《C++ Concurrencyin Action》第8章--并发代码设计
|
数据可视化 C++ Windows
非可视化编程的windows窗口 C++ 代码设计:附例程并多多知识点
非可视化编程的windows窗口 C++ 代码设计:附例程并多多知识点
248 0
|
2月前
|
存储 编译器 C语言
【c++丨STL】string类的使用
本文介绍了C++中`string`类的基本概念及其主要接口。`string`类在C++标准库中扮演着重要角色,它提供了比C语言中字符串处理函数更丰富、安全和便捷的功能。文章详细讲解了`string`类的构造函数、赋值运算符、容量管理接口、元素访问及遍历方法、字符串修改操作、字符串运算接口、常量成员和非成员函数等内容。通过实例演示了如何使用这些接口进行字符串的创建、修改、查找和比较等操作,帮助读者更好地理解和掌握`string`类的应用。
62 2
|
2月前
|
存储 编译器 C++
【c++】类和对象(下)(取地址运算符重载、深究构造函数、类型转换、static修饰成员、友元、内部类、匿名对象)
本文介绍了C++中类和对象的高级特性,包括取地址运算符重载、构造函数的初始化列表、类型转换、static修饰成员、友元、内部类及匿名对象等内容。文章详细解释了每个概念的使用方法和注意事项,帮助读者深入了解C++面向对象编程的核心机制。
113 5
|
2月前
|
存储 编译器 C++
【c++】类和对象(中)(构造函数、析构函数、拷贝构造、赋值重载)
本文深入探讨了C++类的默认成员函数,包括构造函数、析构函数、拷贝构造函数和赋值重载。构造函数用于对象的初始化,析构函数用于对象销毁时的资源清理,拷贝构造函数用于对象的拷贝,赋值重载用于已存在对象的赋值。文章详细介绍了每个函数的特点、使用方法及注意事项,并提供了代码示例。这些默认成员函数确保了资源的正确管理和对象状态的维护。
112 4