IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    为什么不能重载&&与||以及,(comma)?

    查利鹏发表于 2017-06-24 22:21:39
    love 0

    C++的基础语法里提供了||与&&两个逻辑操作符还有,(comma)运算符。在类中我们也可以重载这些操作符,但是不要这样做,我会在这篇文章中写出标准描述以及不能重载的原因。
    概括来说,因为内置的||和&&具有短路求值语义,如果你自己重载了他们就变成了普通的函数调用,会具有与built-in ||与&&完全不同的语义。
    而,操作符具有从左到右求值的语义,所以如果自己重载,会变成函数调用,也会具有不同于built-in的语义。



沪ICP备19023445号-2号
友情链接