专栏首页C++核心准则原文翻译C++核心准则C.161:对称运算使用非成员函数​运算符

C++核心准则C.161:对称运算使用非成员函数​运算符

C.161: Use nonmember functions for symmetric operators

C.161:对称运算使用非成员函数运算符

Reason(原因)

If you use member functions, you need two. Unless you use a nonmember function for (say) ==, a == b and b == a will be subtly different.

如果使用成员函数的话,需要准备两个。除非你使用非成员函数实现==,否则a==b和b==a会有微妙的区别。

Example(示例)

bool operator==(Point a, Point b) { return a.x == b.x && a.y == b.y; }
Enforcement(实施建议)
Flag member operator functions.

提示成员函数操作符。

原文链接:

https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c161-use-nonmember-functions-for-symmetric-operators


觉得本文有帮助?请分享给更多人。

关注【面向对象思考】轻松学习每一天!

面向对象开发,面向对象思考!

本文分享自微信公众号 - 面向对象思考(OOThinkingDalian)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C++核心准则ES.21: 不要在不需要时引入变量(或常量)

    Readability. To limit the scope in which the variable can be used.

    面向对象思考
  • C++核心准则C.131: 避免无意义的getters和setters‍

    A trivial getter or setter adds no semantic value; the data item could just as w...

    面向对象思考
  • C++核心准则编译边学-F.18 使用X&&传递“将会发生数据移动”的参数并实施数据移动

    It's efficient and eliminates bugs at the call site: X&& binds to rvalues, which...

    面向对象思考
  • spring基础(2:最小化XML配置)

      byType在出现多个匹配项时不会自动选择一个然是报错,为避免报错,有两种办法:1.使用<bean>元素的primary属性,设置为首选Bean,但所有be...

    用户2038589
  • Android设计模式应用---原型模式

    该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象

    wust小吴
  • 算法与数据结构(三):栈

    栈与队列一样也是一种线性的数据结构,与队列不同的是栈是一种先进后出的结构,有点类似于现实中的弹夹,最后压进去的子弹总是最先被打出来,在计算机中栈用到的地方就是用...

    Masimaro
  • 10年百度的T6,现在应该挣几两银子?

    又是一年跳槽季,互联网的同学们开始蠢蠢欲动。前些日子写了一篇 “你该怎么选 Offer” 的文章,在微信公众号、今日头条、36 氪、腾讯、搜狐等媒体获得了超过百...

    哲洛不闹
  • 解决fatal: The remote end hung up unexpectedly

    LinXunFeng
  • 如何为你的 Github 博客添砖加瓦

    链接:https://segmentfault.com/a/1190000022112839

    好好学java
  • 【小家Spring】Spring AOP的核心类:AbstractAdvisorAutoProxy自动代理创建器深度剖析(AnnotationAwareAspectJAutoProxyCreator)

    上篇博文: 【小家Spring】面向切面编程之—Spring AOP的原理讲解以及源码分析(Cannot find current proxy: Set ‘e...

    YourBatman

扫码关注云+社区

领取腾讯云代金券