C++运算符重载限制是什么
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这期内容当中小编将会给大家带来有关C++运算符重载限制是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、重载限制上一篇我们讲了在类和结构体当中重载运算符,关于
千家信息网最后更新 2025年11月14日C++运算符重载限制是什么
这期内容当中小编将会给大家带来有关C++运算符重载限制是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
一、重载限制
上一篇我们讲了在类和结构体当中重载运算符,关于运算符的重载并不是随心所欲的。C++给出了一些限制,从而保证了规范,以及程序运行的准确性。
下面我们就来一一来看下:
1.必须至少有一个操作数是用户定义的类型
这句话看不明白没有关系,我们只需要记住它的目的就好了。它的主要目的是为了防止用户为了标准类型重载运算符。比如将+重载成两个数的差,而不是和。
这种限制对创造性有一定的影响,没有那么灵活,但可以保证程序的正常运行。不会出现一些反人类的情况
2.不能违反运算符原来的规则
这一点很好理解,比如+号,它的运算就是计算两个数的和。需要有两个操作数,现在我们把它重载成一个操作数,就是违法的。
P p;+p;
同样,我们也不能修改运算符的优先级,如果将加号运算符重载成两个类相加,那么新的运算符和原来的加号拥有一样的优先级。
3.不能创建新运算符
这一点之前已经说过了,比如不能定义operator @等这种原来没有的运算符。
4.禁止名单
有一些运算符是禁止重载的,如:sizeof, ., ::, ?:, typeid, const_cast, dynamic_cast, reinterpret_cast, static_cast
这些运算符往往都有特殊的功能,直接从实现层面禁止重载。
5.部分运算符只能通过成员函数重载
大多数运算符都可以通过成员函数以及非成员函数进行重载,但也有部分例外,只能通过成员函数重载,
如:
=:赋值运算符(): 函数调用运算符[]: 下标运算符->: 箭头符号
这里的非成员函数看起来有些费解,之后我们会遇到,主要是指友元函数。
上述就是小编为大家分享的C++运算符重载限制是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
运算
运算符
函数
限制
成员
两个
C++
就是
操作数
优先级
内容
加号
用户
目的
程序
类型
部分
保证
分析
运行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器三个网口只有一个灯亮
加强网络安全知识普及
厦门网络技术人员待遇
8cpu服务器
安装包数据库版本怎么看
计算机网络技术考试都考什么
微信支付服务器版本
数据库由谁建立
对网络安全意识发声亮剑
检索中国专利使用的数据库是
数据库主从教程
深圳市中鑫创展软件开发有限公司
java 图片 存数据库
数据库上的进程编程
服务器进安全模式
数据库 查重
云计算5g网络技术
北京联想万全服务器r350
什么时用 h2数据库连接
sas数据库编程
数据库查询多个表的字段
ftp客户端与服务器连接源代码
兰州软件开发项目
中兴网络技术工程师出差
数据库怎么保存表
上海创新计算机网络技术服务活动
网络安全二十禁内容心得体会
应用程序软件开发
14年软件开发不断跳槽到现在
数据库与应用实践教程读后感