C 操作员在具有构造函数转换时过载

C++ operators overloading when having constructor conversion

本文关键字:转换 构造函数 操作员      更新时间:2023-10-16

所以我不太确定标题是否很好地描述了问题。从本质上讲,我想知道我是否有A类,该类具有const &的构造函数,来自BC类型,例如,如果我有操作员*=,则它将同时使用A *= AA *= BA *= C。现在,如果使用Sfinae,我可以为三种情况中的每一个单独编写,其中单个A *= BA *= C可能只是一个很小的余量,我是否应该费心地实施或仅对A *= A实施就足够了?

可能只是一个很小的余量,我什至应该打扰实施

这是决策过程:

  1. 我的代码有效吗?

是。

  1. 我的用户是否抱怨我的程序或库的操作缓慢?例如,他们没有病毒扫描仪,例如,所有可用的CPU并击中磁盘吗?

是的,他们真的很合理地抱怨。

  1. 我是否对代码进行了介绍并将问题范围缩小到这个过载操作员?

  1. 真的吗?我不相信你 - 请再次检查。

不,真的是。

  1. 好吧,我想您最好实现该额外的操作员。恭喜,现在您还有另一个代码路径可以在本软件的余生中进行调试和维护。

俗话说,"早期优化是各种邪恶的根源"。它只是为您的同事提供工作,并使您将时间集中在所有错误的地方。