《C++ Primer》中文版(第五版)翻译勘误
在看《C++ Primer》中文版(第五版)时,我发现有许多说不通的地方,然后一翻英文版才发现是翻译错误,现在记录下来。所以还是看英文版比较好。。。可能以后也会持续更新
成员定义中的普通块作用域的名字查找
中文版:255page 英文版:285page
- 错误:
和前面一样,只有在函数使用之前出现的声明才被考虑。 - 英文原版:As usual, only declarations in the function body that precede the use of the name are considered.
- 正确: 和前面一样,只有在函数体内的名称使用前的声明才被考虑。
- 解释:不是函数使用而是名称使用。我也不知道怎么翻出来这样的…
默认构造函数的作用
中文版:262page 英文版:293page
- 错误:当一个类本身含有类类型的成员且使用合成的默认构造函数时。
- 英文原版:When a class that itself has members of class type uses the synthesized default constructor.
- 正确:当一个本身含有类类型成员的类使用合成的默认构造函数时。
- 解释:这个也不能算翻译错误,但是中文读起来非常奇怪,英文的含义就比较明显。“使用合成的默认构造函数“的是类而不是类类型成员。