C++ 运算符重载与自定义类型
📚 共计 30 章节
01
运算符重载概述
什么是运算符重载,为什么需要,限制与规则
基础
概念
02
重载算术运算符
重载 + - * / ,实现复数类加减乘除
算术
复数
03
重载关系运算符
重载 == != < > ,自定义比较逻辑
比较
排序
04
重载赋值运算符
深拷贝与浅拷贝,处理自赋值
拷贝
资源管理
05
重载下标运算符
安全的数组访问与边界检查
数组
安全
06
重载函数调用运算符
实现仿函数 (Functor) 与状态对象
仿函数
可调用
07
重载输入输出运算符
重载 << >> ,流式输入输出
I/O
流
08
重载自增自减运算符
前置和后置 ++/-- ,区分语法
自增
前置/后置
09
重载类型转换运算符
operator T() ,隐式转换
转换
隐式
10
重载 new 和 delete
全局与类级别内存管理,内存池
内存
new/delete
11
友元函数与运算符重载
何时需要友元,二元运算符典型场景
友元
二元
12
成员函数 vs 友元函数
选择成员还是友元,优缺点与场景
设计
对比
13
重载一元运算符
负号 - 、逻辑非 ! 、取地址 & 等
一元
负号
14
重载复合赋值运算符
+= -= *= /= ,提高效率与可读性
复合赋值
效率
15
重载位运算符
& | ^ ~ << >> ,实现 bitset 类
位运算
bitset
16
重载解引用与成员访问
重载 * 和 -> ,智能指针核心
智能指针
解引用
17
重载逗号运算符
求值顺序与重载后的行为变化
逗号
求值顺序
18
下标运算符进阶
多维数组访问,代理对象实现左/右值
多维
代理
19
重载 new[] 和 delete[]
动态数组内存分配与释放
数组
内存管理
20
运算符重载与异常安全
强异常安全保证,RAII 与运算符
异常
RAII
21
三路比较 <=> (C++20)
自动生成比较运算符,<=> 详解
C++20
三路比较
22
转换运算符与 explicit
防止隐式转换意外,explicit 转换
explicit
安全
23
移动赋值运算符
移动语义,高效资源转移
移动语义
右值
24
运算符重载与多态
继承体系重载,虚函数与运算符结合
多态
继承
25
常见陷阱与最佳实践
自赋值、返回引用/值、const 正确性
陷阱
实践
26
标准库中的运算符重载
string, vector, complex 重载分析
STL
源码
27
自定义迭代器与运算符
重载 ++ * -> != 实现迭代器
迭代器
自定义
28
重载实现数学库
向量、矩阵类的完整运算符重载
数学
向量
29
性能优化与表达式模板
内联、移动语义、Expression Templates
优化
模板
30
综合实战:有理数类
完整实现所有常用运算符,单元测试
实战
有理数