注册 登录
编程论坛 C++教室

各位有没有这种感觉:c++preimer 4th从第13章复制控制变得有点晦涩难懂

lijunbo 发布于 2011-12-26 20:08, 842 次点击
最近在看c++primer,前面几章看起来条理清晰,语言也比较通俗。
但是到了第13章,忽然感觉晦涩难懂,语言像是绕口令一样,理解起来很是吃力。
给人的感觉前后不连贯,很突然。中间好像少了衔接
难道是前面和后面翻译者不是同一人?
或者是前面和后面的写作者不是同一人?
各位你们学习时有没这种感觉,请教如何突破?看的头脑发热


[ 本帖最后由 lijunbo 于 2011-12-26 20:11 编辑 ]
6 回复
#2
BianChengNan2011-12-27 10:11
以下是引用lijunbo在2011-12-26 20:08:12的发言:

最近在看c++primer,前面几章看起来条理清晰,语言也比较通俗。
但是到了第13章,忽然感觉晦涩难懂,语言像是绕口令一样,理解起来很是吃力。
给人的感觉前后不连贯,很突然。中间好像少了衔接
难道是前面和后面翻译者不是同一人?
或者是前面和后面的写作者不是同一人?
各位你们学习时有没这种感觉,请教如何突破?看的头脑发热
很有可能是不同的人翻译的
#3
lucky5635912011-12-27 10:49
复制控制是什么?难道是面向对象不懂?
#4
hellovfp2011-12-27 15:31
这个是全中文翻译的恶果所致,复制构造函数,你脑海里想着copy构造函数,比较容易理解一些,赋值想成=或是Assign你就清楚了。
#5
waterstar2011-12-27 19:09
有可能,也有可能是原文实在太难翻译了。
#6
lz10919149992011-12-31 14:51
程序代码:
#include <iostream>
using namespace std;

class X {
public:
   X() { cout << "X()" << endl; }
   X(int) { cout << "X(int)" << endl; }
   X(const X&) { cout << "X(const X&)" << endl; }
   X& operator=(const X&) { cout << "X& operator=(const X&)" << endl; }
};

int main() {
   X x1;      // Constructor: X()
   X x2(1);   // Constructor: X(int)
   X x3(x1);  // Copy-constructor: X(const X&)
   X x4 = x1; // Copy-constructor: X(const X&)
   x4 = x1;   // Assign operator: X& operator=(const X&)
}

有兴趣可以去看看Thinking in CPP吧,每看一遍的收获都不小。

[ 本帖最后由 lz1091914999 于 2011-12-31 14:52 编辑 ]
#7
hellovfp2011-12-31 14:59
Thinking in CPP,真的是好书,作者的功力很足,写的Thinking系列都不错。
1