理解复杂的函数定义

时间:2012-06-03 15:12:40

标签: c++ definition

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

这是

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

}

特别是我需要知道什么

  

operator =(const t_group& a)

是什么意思?

1 个答案:

答案 0 :(得分:5)

以下是细分:

t_group&

该函数返回对t_group的引用。

t_group::

该函数位于t_group命名空间中。由于t_groupstructunionclass的名称,因此它是t_group的成员。

operator=

该函数是=运算符的重载。由于它是一种方法,因此该对象是=运算符的左侧。

(const t_group &a)

这是函数的参数:它是=运算符的右侧。这表示右侧是对const的{​​{1}}引用,这意味着该函数不会改变t_group

总之,这是t_group类的副本分配操作。它由以下代码调用:

t_group

后一行相当于t_group a, b; b = a;

P.S。赋值运算符函数通常以b.operator=(a);结尾。这样您就可以像常规return *this;运算符一样链接分配(例如a = b = c)。