附录 B. 第二和第三版之间的 Item 映射

作者:Scott Meyers

译者:fatalerror99 (iTePub's Nirvana)

发布:http://blog.csdn.net/fatalerror99/

Effective C++ 的第三版在很多方面与第二版不同,其中最引人注目的是它包含很多新的信息。然而,第二版的大部分内容依然保留在第三版中,虽然经常会改变形式和位置。在后面几页的表格中,我展示了第二版 Items 中的信息在第三版的哪里可以找到,反之亦然。

这个表展示了一个信息的映射,而不是文本的。例如,第二版的 Item 39 中的思想(“避免在继承体系中做向下转型 (cast down) 动作”)(此标题借用侯捷先生的第二版译文——译者注)现在可以在当前版本的 Item 27(“最少化 casting(强制转型)”)中找到,即使第三版这个 Item 的文本和例子完全是新的。一个更极端的例子在于第二版的 Item 18(“努力让接口完满 (complete) 且最小化”)(此标题借用侯捷先生的第二版译文——译者注)。那个 Item 的主要结论之一是:不需要对 non-public(非公有)构件进行特殊访问的 prospective member functions(候选成员函数)一般应该成为 non-members(非成员)。在第三版中,通过不同的(更强的)论证达到相同的结果,所以第二版中的 Item 18 映射到第三版中的 Item 23(“用 non-member non-friend functions(非成员非友元函数)取代 member functions(成员函数)”),即使这两个 Item 之间仅有的共同之处是它们的结论。

Second Edition to Third Edition

2nd Ed. 3rd Ed. 2nd Ed. 3rd Ed. 2nd Ed. 3rd Ed.
1 2 18 23 35 32
2 - 19 24 36 34
3 - 20 22 37 36
4 - 21 3 38 37
5 16 22 20 39 27
6 13 23 21 40 38
7 49 24 - 41 41
8 51 25 - 42 39
9 52 26 - 43 44, 40
10 50 27 6 44 -
11 14 28 - 45 5
12 4 29 28 46 18
13 4 30 28 47 4
14 7 31 21 48 53
15 10 32 26 49 54
16 12 33 30 50 -
17 11 34 31

Third Edition to Second Edition

3rd Ed. 2nd Ed. 3rd Ed. 2nd Ed. 3rd Ed. 2nd Ed.
1 - 20 22 39 42
2 1 21 23, 31 40 43
3 21 22 20 41 41
4 12, 13, 47 23 18 42 -
5 45 24 19 43 -
6 27 25 - 44 42
7 14 26 32 45 -
8 - 27 39 46 -
9 - 28 29, 30 47 -
10 15 29 - 48 -
11 17 30 33 49 7
12 16 31 34 50 10
13 6 32 35 51 8
14 11 33 9 52 9
15 - 34 36 53 48
16 5 35 - 54 49
17 - 36 37 55 -
18 46 37 38
19 pp. 77-79 38 40