作者回复: 这里确实是很容易让人看错的一个地方,我之前也犯过类似的错误。需要注意的是变量在初始化时是不会调用“copy-assignment operator”的,相反这里调用的是“copy-constructor”。因为这里我们是在声明“P3”的时候就直接进行初始化了“Person P3 = P2;”。为了更加明确,如果后面还有一行代码是“P1 = P3;”,那这里由于“P1”已经经过初始化所以就会调用拷贝赋值函数/运算符。