关于c++运算符重载的选择
来源:互联网 发布:哈尔滨数据开放 编辑:程序博客网 时间:2024/05/16 13:43
- 一般情况下,单目运算符最好重载为类的成员函数;双目运算符则最好重载为类的友元函数。
- 以下一些双目运算符不能重载为类的友元函数:=、()、[]、->。
- 类型转换函数只能定义为一个类的成员函数而不能定义为类的友元函数。 C++提供4个类型转换函数:reinterpret_cast(在编译期间实现转换)、const_cast(在编译期间实现转换)、stactic_cast(在编译期间实现转换)、dynamic_cast(在运行期间实现转换,并可以返回转换成功与否的标志)。
- 若一个运算符的操作需要修改对象的状态,选择重载为成员函数较好。
- 若运算符所需的操作数(尤其是第一个操作数)希望有隐式类型转换,则只能选用友元函数。
- 当运算符函数是一个成员函数时,最左边的操作数(或者只有最左边的操作数)必须是运算符类的一个类对象(或者是对该类对象的引用)。如果左边的操作数必须是一个不同类的对象,或者是一个内部 类型的对象,该运算符函数必须作为一个友元函数来实现。
- 当需要重载运算符具有可交换性时,选择重载为友元函数。
阅读全文
0 0
- 关于c++运算符重载的选择
- [C++]关于重载运算符的一些建议
- 关于运算符的重载
- c++-运算符的重载
- C++--运算符的重载
- 重载运算符函数的选择
- [C/C++]运算符的重载
- 关于运算符重载
- 关于重载运算符
- 关于运算符重载
- 关于运算符重载
- 关于运算符重载
- 关于运算符重载
- 关于运算符重载
- 关于C++运算符的重载
- 关于C++运算符的重载
- 关于重载运算符的思考
- 《关于C++中运算符的重载》
- 树莓派3b连接GPS+BD模块并用python获取数据(USB版)
- <android> 第三方支付sdk接入 支付宝、微信支付
- [FAQ08919][NW]网络运营商名称显示规则(锁屏界面,下拉列表)---网络名称 客制化方法 和 问题处理flow
- ViewGroup源码解读
- [Android] Android_监听电池电量
- 关于c++运算符重载的选择
- View的绘制流程
- Android图文混排实现方式详解
- Vim编辑器的使用
- Shiro身份认证
- php中常见的几种设计模式
- react native 添加启动页并解决启动白屏问题
- Python制作的Tries树查找地址中包含的省份
- [Android] Android绘制文本基本概念之- top, bottom, ascent, descent, baseline