我有一个用 C++ 编写的复杂函数定义。这是我第一次遇到如此复杂的函数定义,我无法理解它的含义。
这里是
t_group& t_group::operator=(const t_group &a)
{
}
具体来说,我需要知道什么
运算符=(const t_group &a)
意思是 ?
我有一个用 C++ 编写的复杂函数定义。这是我第一次遇到如此复杂的函数定义,我无法理解它的含义。
这里是
t_group& t_group::operator=(const t_group &a)
{
}
具体来说,我需要知道什么
运算符=(const t_group &a)
意思是 ?
这是细分:
t_group&
该函数返回对 a 的引用t_group
。
t_group::
该函数位于t_group
命名空间中。因为t_group
是 a 、 或 的名称struct
,union
所以class
它是 的成员t_group
。
operator=
该函数是运算符的重载=
。由于它是一种方法,因此对象是运算符的左侧=
。
(const t_group &a)
这是函数的参数:它是运算符的右侧=
。这表示右侧是对 a 的const
引用t_group
,这意味着该函数不会改变t_group
.
综合起来,这就是类的复制赋值操作t_group
。它由如下代码调用:
t_group a, b;
b = a;
后一行相当于b.operator=(a);
.
PS 赋值运算符函数通常以return *this;
. 这样您就可以a = b = c
像常规=
运算符一样链接分配(例如)。