14.2.4 Binary operator overload resolution

博客介绍了形如x op y的二元运算符重载操作的处理流程。先确定候选用户定义运算符集合,若不为空则作为候选集,否则使用预定义运算符实现。最后应用重载解析规则从候选集中选最佳运算符,若失败则编译报错。
An operation of the form x op y, where op is an overloadable binary
operator, x is an expression of type X,
and y is an expression of type Y, is processed as follows:
?The set of candidate user-defined operators provided by X and Y for the
operation operator op(x, y)
is determined. The set consists of the union of the candidate operators
provided by X and the candidate
operators provided by Y, each determined using the rules of ?4.2.5. If X
and Y are the same type, or if X
and Y are derived from a common base type, then shared candidate operators
only occur in the combined
set once.
?If the set of candidate user-defined operators is not empty, then this
becomes the set of candidate
operators for the operation. Otherwise, the predefined binary operator op
implementations become the
set of candidate operators for the operation. The predefined
implementations of a given operator are
specified in the description of the operator (?4.7 through ?4.13).
?The overload resolution rules of ?4.4.2 are applied to the set of
candidate operators to select the best
operator with respect to the argument list (x, y), and this operator
becomes the result of the overload
resolution process. If overload resolution fails to select a single best
operator, a compile-time error
occurs.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值