我有一个用 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像常规=运算符一样链接分配(例如)。