这里的第一个& 必须要吗?该如何处理

这里的第一个& 必须要吗??
赋值操作符也可以被重载在我们的String 类中重载的赋值操作符集如下
// 赋值操作符的重载集合
String& operator=( const String & );
String& operator=( const char * );


   
这里的第一个& 必须要吗??
感觉不要也可以。

------解决方案--------------------
因为String是class,是用户自定义类型,一般说来,用户自定义类型使用传引用而不是传值方式调用函数可获得更好的性能。。。
------解决方案--------------------
不传递引用的话, 你获得的也只是一个副本吧. 而且还要承受string的copy ctor的成本
不过operator=的实现完全可以根据你自己的需要来改变.
------解决方案--------------------
如果返回不是引用也可以链式使用 A = B = C 
-------------
你可以自己写一个例子时候看
如果你不是返回引用这样的链式不会有意义
因为A = B 返回的是并不是对象A本身,而只是它的拷贝(临时对象),
C赋值对象是一个临时对象,



------解决方案--------------------
对于
C/C++ code

Matrix operator+(const Matrix&, const Matrix&) {
    ...
}