附录 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 |