1. 首页
  2. 编程语言
  3. C
  4. 详解c/c++赋值函数(重载=号运算符)

详解c/c++赋值函数(重载=号运算符)

上传者: 2021-08-10 00:21:09上传 PDF文件 51.32 KB 热度 5次

所以当用=给一个对象赋值的时候,实际调用的是=号所对应的=号函数。= &t)的判断5,为什么有返回值6,为什么返回值的类型是引用类型分析点解答:Test t2;t2 = t1;//实际的运作方式是t2.operator=,所以函数里面的this就是t21,重载类Test的=号函数,当对类Test的对象用=号操作的时候,就会调用这个重载后的函数2,避免调用拷贝构造函数3,避免不小心修改里参数t里面成员变量的值4,防止自己给自己赋值5,为了能够使用 t3 = t2 = t1。如果没有返回值,则t3.operator=,的参数里面t2=t1就没有返回值,所以编译不过。6,不是引用也可以,用引用类型是防止老版本的编译器,在return处调用拷贝构造函数,新版本的编译器,即使不用引用类型,就不会调用拷贝构造函数。

用户评论