“operator= 应该采用 src obj 的(当然,最好的)ref 的参数”,我在很多书中都看到了这一点,但我尝试使用非 ref 代替,它也有效!所以,使用的目的是什么ref?是否只是为了避免从参数中复制?我的测试代码是,
#include <iostream>
#include <string>
using namespace std;
class Student{
public:
Student& operator=(Student);
string name;
int num;
};
Student& Student::operator=(Student s)
{
name=s.name;
num=s.num;
return *this;
}
int main(){
Student src;
src.name="haha";
src.num=11;
cout<<src.name<<" "<<src.num<<endl;
Student dst=src;
cout<<src.name<<" "<<src.num<<endl;
}