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