0

我有一个用 C++ 编写的复杂函数定义。这是我第一次遇到如此复杂的函数定义,我无法理解它的含义。

这里是

t_group& t_group::operator=(const t_group &a)
{

}

具体来说,我需要知道什么

运算符=(const t_group &a)

意思是 ?

4

1 回答 1

5

这是细分:

t_group&

该函数返回对 a 的引用t_group

t_group::

该函数位于t_group命名空间中。因为t_group是 a 、 或 的名称structunion所以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像常规=运算符一样链接分配(例如)。

于 2012-06-03T15:19:51.340 回答