C ++中的赋值运算符和复制构造函数有什么区别?