C++ 运算符重载与类型转换深入解析
1. 运算符重载基础
1.1 运算符重载概述
C++ 允许对大多数运算符进行重载,使它们能够处理类对象。编译器会根据操作数的类型生成相应的代码。例如, << 运算符既可以作为流插入运算符,也可以作为按位左移运算符; >> 运算符同理,既可以作为流提取运算符,也可以作为按位右移运算符。此外, + 和 - 运算符在整数运算、浮点运算和指针运算中的行为也不同。虽然重载运算符的功能也可以通过显式函数调用实现,但运算符表示法通常更加自然。
1.2 标准库类 string 的重载运算符
标准类 string 定义在 <string> 头文件中,属于 std 命名空间。它提供了许多重载运算符,包括相等、关系、赋值、加法赋值(用于连接)和下标运算符等。 string 类还提供了 empty 成员函数,用于判断字符串是否为空; substr 成员函数用于获取指定位置和长度的子字符串。需要注意的是, string 类的重载 [] 运算符不进行边界检查,而 at 成员函数会进行边界检查,如果下标无效会抛出异常。
1.3 运算符重载的基本规则
- 函
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



