了解复杂的函数定义
understand complex function definition
我有一个用C ++编写的复杂函数定义。这是我第一次遇到如此复杂的函数定义,我很难理解它的含义。
在这里
t_group& t_group::operator=(const t_group &a)
{
}
具体来说,我需要知道什么
运算符=(常量 t_group &a)
意味 着?
以下是细分:
t_group&
该函数返回对t_group
的引用。
t_group::
该函数位于 t_group
命名空间中。因为t_group
是struct
、union
或class
的名称,它是t_group
的成员。
operator=
该函数是=
运算符的重载。由于它是一个方法,因此对象是=
运算符的左侧。
(const t_group &a)
这是函数的参数:它是=
运算符的右侧。这说明右侧是对t_group
的const
引用,这意味着该函数不会改变t_group
。
总之,这是 t_group
类的复制赋值操作。它由如下代码调用:
t_group a, b;
b = a;
后一行相当于b.operator=(a);
。
附言赋值运算符函数通常以 return *this;
结尾。这样您就可以链接分配(例如 a = b = c
) 就像常规的=
运算符一样。
相关文章:
- 在命名空间中定义函数还是限定函数
- 为什么在定义函数之前先声明它
- 使用用户定义函数的字符串反转
- 用户定义函数中的指针和输入
- 这个c++代码是如何在没有定义函数的情况下运行的
- 具有外部"c"和程序集的未定义函数
- 已定义函数时出现 G++ "未定义的引用"错误
- 将自定义函数传递到基抽象类中以延迟执行
- C++使用 rand 定义函数语法
- Arduino:在 loop() 和自定义函数中运行相同的代码时出现问题
- 将具有固定签名的自定义函数名称注入 CRTP
- 使用定义函数模板别名
- 是否可以使用单个定义定义函数的常量和常规版本?(使用模板,自动,decltype等)
- 在内联程序集中定义函数和从 C++ 调用时出现问题
- 在 Metal 着色器代码中,如何定义函数的 in/out 参数变量?
- 声明和定义函数静态会产生"undefined reference to function_name()"
- 朋友定义函数的名称空间是什么
- 介子 对用户定义函数的未定义引用
- 如何使用 "using" 关键字定义函数原型/签名
- 在 C 结构中定义C++函数