C++ 班级申报问题
从以下代码片段:C++ 班级申报问题,c++,C++,从以下代码片段: CClassA& CClassA::operator =(const CClassA& rhs) { return; } 我有以下问题: 它是一个班级成员吗 &是什么意思 rhs是什么意思?(我只知道它的意思是“右手边”) const是什么意思 1)这是一名班级成员。您正在尝试重载运算符=。经过 它在这个话题上得到了更多的帮助 2) &表示您正在传递引用 3) rhs表示右手侧 4) const在这里表示常量的正常语义,即您不想更改rhs端 最重要的
CClassA& CClassA::operator =(const CClassA& rhs)
{
return;
}
我有以下问题:
&
是什么意思rhs
是什么意思?(我只知道它的意思是“右手边”)const
是什么意思CClassA
的一个实例赋值给另一个CClassA
实例时要执行的操作。e、 g
卡萨福;
CClassA酒吧;
foo=bar;//这将调用重载赋值运算符&
表示“参考”。也就是说,该函数返回一个CClassA
引用,并将一个const CClassA
引用作为参数。这与传递值相反,传递值将向函数发送CClassA
实例的副本。引用只传递实例的地址,以避免复制实例的开销foo=bar
,实际上是说foo.operator=(bar)代码>
const
在这种情况下表示一个常量引用。这意味着rhs
不会在功能内更改正如@Seth Carnegie所评论的,这段代码不会编译。您需要返回一个
CClassA&
,但您没有返回任何内容。请注意,这不会编译。另外,在这种情况下,&
的意思是“参考”而不是“地址”。你应该有一个详细的解释,从长远来看,通过互联网/猜测/尝试和错误学习会对你造成伤害。@GMan:很好。了解这些东西真的很重要,否则将来会有大量的心痛和挫折等着你。从一本好的教科书上学习总比从各种网络资源上拼凑知识要好。谢谢,从长远来看,我会附上一本好书。只是想在某些情况下更快地找到解决方案。谢谢,非常详细的解释。