C++ 运算符重载?
“和”是什么意思?为什么不是C++ 运算符重载?,c++,operator-overloading,C++,Operator Overloading,“和”是什么意思?为什么不是我的类而不是我的类&?这个&仅仅意味着操作符=的返回值是一个引用 这与运算符重载无关。与普通函数定义的语法相同: MyClass & operator=(const MyClass &rhs); 返回MyClass&只是为了让操作符“=”在链中工作。 返回MyClass&或其他内容不会对重载“=”产生任何影响 ReturingMyClass&帮助我们使用“=”类似于我们在内置数据类型上使用它的方式。 例如 类似的讨论,请参考C++中的思维,(IoS
我的类
而不是我的类&
?这个&
仅仅意味着操作符=
的返回值是一个引用
这与运算符重载无关。与普通函数定义的语法相同:
MyClass & operator=(const MyClass &rhs);
返回
MyClass&
只是为了让操作符“=”在链中工作。
返回MyClass&
或其他内容不会对重载“=”产生任何影响
ReturingMyClass&
帮助我们使用“=”类似于我们在内置数据类型上使用它的方式。
例如
类似的讨论,请参考C++中的思维,(IoSokes)。顺便说一下,Google“C++ C++中的AppSand”产生了大量的相关结果。我认为你需要学习C++的基本原理。试试a.“
MyClass*foo()
”的含义是什么?@这意味着它返回一个指针。但这确实是基本的,基本的东西。在stackoverflow上盲目地问这个问题可能不会对你有多大帮助。你应该读一本好的C++入门书。
MyClass& foo()
{
return *this; // returns a reference to MyClass instance
}
MyClass foo()
{
return *this; // returns a copy of MyClass instance
}
int x = y = z = 123;