C++运算符重载限制是什么
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这期内容当中小编将会给大家带来有关C++运算符重载限制是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、重载限制上一篇我们讲了在类和结构体当中重载运算符,关于
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
战地服务器租金
肝服务器
虹口区信息软件开发厂家批发价
开放网络技术高峰研讨会
数据库一个长字段做汉字脱敏
河南正数网络技术有限公司挂牌
刺激战场怎么打不开服务器
网络满格但是无法连接服务器
上海网络技术服务咨询产业
2021年网络安全第几届
服务器隔音板怎么安装
朗吉信网络技术有限公司
上海卫士通网络安全
香港服务器租用怎么样
软件开发公司调研报告
湖州网络安全应用平台
方舟手游怎么开服务器和朋友
长沙软件开发驻场咨询
视频管理服务器 应用
idea运行数据库怎么连接
上海大士网络技术有限公司
甲方软件开发需求并发量
自然资源部网络安全与信息化
日常生活中网络安全隐患
迁安网络营销软件开发创造辉煌
南宁网络安全工程师薪资高就业快
初级网络安全工程师认证
数据库怎么查询某个月
现代化网络安全类型
数据库实施方案