Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++中运算符的返回对象=重载 < > C++中实现运算符=这个或给定参数之间的区别是什么?使用其中一个更好还是更有用?若有,原因为何 class Object { public: Object operator=(Object Obj) { return *this; } }_C++_Operator Overloading_This_Operator Keyword - Fatal编程技术网

C++中运算符的返回对象=重载 < > C++中实现运算符=这个或给定参数之间的区别是什么?使用其中一个更好还是更有用?若有,原因为何 class Object { public: Object operator=(Object Obj) { return *this; } }

C++中运算符的返回对象=重载 < > C++中实现运算符=这个或给定参数之间的区别是什么?使用其中一个更好还是更有用?若有,原因为何 class Object { public: Object operator=(Object Obj) { return *this; } },c++,operator-overloading,this,operator-keyword,C++,Operator Overloading,This,Operator Keyword,vs X&operator=X const&{return*this;}与int上=的语义匹配。您给出的其他建议不匹配。当怀疑是否匹配int的语义时。您应该返回对当前对象的引用,而不是一个全新的对象。这是否回答了您的问题? class Object { public: Object operator=(Object Obj) { return Obj; } }

vs


X&operator=X const&{return*this;}与int上=的语义匹配。您给出的其他建议不匹配。当怀疑是否匹配int的语义时。

您应该返回对当前对象的引用,而不是一个全新的对象。这是否回答了您的问题?
   class Object {
   public:
      Object operator=(Object Obj) {
         return Obj;
      }
   }