C++运算符重载限制是什么
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这期内容当中小编将会给大家带来有关C++运算符重载限制是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、重载限制上一篇我们讲了在类和结构体当中重载运算符,关于
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
南京欣网互联网络科技有限公司
广州为想互联网科技有限公司
上海卓越科技互联网
云之行互联网科技
互联网科技公司华为
科技与互联网
互联网与新科技
迪茉互联网科技
成都狮子座互联网科技
博兴的互联网电子科技公司
互联网科技中介
晓花互联网科技有限公司网址
洛阳昕诺飞互联网科技有限公司
米聚互联网科技南京有限公司排面
深圳无忧互联网科技
唯美互联网科技
马化腾互联网科技教学
10位科技互联网大佬
银川新华互联网科技学校招聘
中国主要互联网科技公司
互联网科技有限公司
互联网科技图片
湖北九亚互联网络科技有限公司
美国互联网科技巨头监管
互联网金融 科技
中国互联网科技发展
凡科互联网科技
融贸通互联网科技
南京一网一红互联网科技有限公司
株洲百竞科技的互联网营销顾问