专栏首页C++核心准则原文翻译C++核心准则C.162:将大致相同的操作设计为重载函数​

C++核心准则C.162:将大致相同的操作设计为重载函数​

C.162: Overload operations that are roughly equivalent

C.162:将大致相同的操作设计为重载函数

Reason(原因)

Having different names for logically equivalent operations on different argument types is confusing, leads to encoding type information in function names, and inhibits generic programming.

逻辑上等价,只是参数不同的操作具有不同的名称是难以理解的,会导致函数名中包含类型信息,而且阻碍编程共通化。

Example(示例)

Consider(考虑下面的代码):

void print(int a);
void print(int a, int base);
void print(const string&);

These three functions all print their arguments (appropriately). Conversely:

这三个函数都(恰当地)打印参数指定的内容。相反地,

void print_int(int a);
void print_based(int a, int base);
void print_string(const string&);

These three functions all print their arguments (appropriately). Adding to the name just introduced verbosity and inhibits generic code.

这三个函数都(恰当地)打印参数指定的内容。只是在函数名中增加了冗长的,阻碍共通化编程的信息。

Enforcement(实施建议)

???

原文链接:

https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c162-overload-operations-that-are-roughly-equivalent


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

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

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

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

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

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C++核心准则F.51:如果可以,优先选择缺省参数而不是重载

    Default arguments simply provide alternative interfaces to a single implementati...

    面向对象思考
  • C++核心准则ES.65:不要解引用无效指针

    Dereferencing an invalid pointer, such as nullptr, is undefined behavior, typica...

    面向对象思考
  • C++核心准则C.20:尽量避免定义默认操作

    C.20: If you can avoid defining default operations, do

    面向对象思考
  • Python 学习之异常

    Python技术与生活认知的分享
  • 整除分块思想

    对于求形如 \(\sum_{i=1}^{n}\lfloor\frac{n}{i}\rfloor\) 的值,就需要用到整除分块,否则当n很大时就会超时。在普通的一...

    _DIY
  • 听说你会玩 Python 系列 2 - 99% 人会做错的题

    题目:在不运行下面代码(Python 3 不是 Python 2)的情况下选择答案。

    用户5753894
  • HDU 4059 The Boss on Mars(容斥原理)

    The Boss on Mars Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/...

    ShenduCC
  • Python 基础

    Python 采用缩进的方式来标识代码,虽然没有明确规定缩进使用几个空格还是 Tab,但是约定的习惯使用 4 个空格的缩进。

    keinYe
  • win10安装python3

    1. https://www.python.org/downloads/ 版本自选。

    py3study
  • Window下安装Scrapy

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

    张凝可

扫码关注云+社区

领取腾讯云代金券