文章目录
第 14 章 重载运算与类型转换
14.1 基本概念
- 第 14 章 重载运算与类型转换
- 14.1 基本概念
- 14.2 输入和输出运算符
- 14.2.1 重载输出运算符
- 14.3 算术和关系运算符
- 14.3.1 相等运算符
- 14.3.2 关系运算符(*)
- 14.4 赋值运算符
- 14.5 下标运算符
- 14.6 递增和递减运算符
- 14.7 成员访问运算符
- 14.8 函数调用运算符
- 14.8.1 lambda 是函数对象
- 14.8.2 标准库定义的函数对象
- 14.8.3 可调用对象与 function
- 14.9 重载、类型转换与运算符
- 14.9.1 类型转换运算符
- 14.9.2 避免有二义性的类型转换
- 14.9.3 函数匹配与重载运算符(*)
除了重载的函数调用运算符 operator() 之外,其他重载运算符不能含有默认实参。
可以重载的运算符:

(1)选择作为成员或者非成员
下面的准则有助于我们在将运算符定义为成员函数还是普通的非成员函数做出抉择:
- 赋值(
=
)、下标([]
)、调用(()
)和成员访问箭头(->
)运算符必须是成员。 - 复合赋值运算符一般来说应该是成员,但并非必须。
- 改变对象状态的运算符或者与给定类型密切相关的运算符,如递增、递减和解引用 运算符,通常应该是成员。
- 具有对称性的运算符可能转换任意一端的运算对象,例如算术、相等性、关系和位 运算符等,因此它们通常应该是普通的非成员函数。
关注
打赏
热门博文
- 2022-09-09 Unity InputSystem5——PlayerInput
- 2022-09-09 Unity InputSystem4——输入配置文件
- 2022-09-09 Unity InputSystem3——InputAction
- 2022-09-09 Unity InputSystem2——代码检测输入
- 2022-09-09 Unity InputSystem1——概述
- 2022-08-26 Unity视频播放4——全景视频
- 2022-08-26 Unity视频播放3——VideoPlayer
- 2022-08-26 Unity视频播放2——视频剪辑设置
- 2022-08-26 Unity视频播放1——视频介绍
- 2022-07-15 Unity核心10——导航寻路系统