【发布时间】:2013-09-09 15:14:00
【问题描述】:
我有两个版本的 operator():
const A& operator(int x ,int y) const;
A& operator(int x ,int y);
但我不知道避免代码重复的最佳方法是什么(因为它们本质上具有相同的逻辑)。
我确实阅读了有关运算符重载(以及其他一些问题)的精彩常见问题解答,但没有找到答案。
EDIT_1:我已经尝试过 Skizz 提出的建议,但类似的东西对我来说不太适用,但也许我错过了一些东西:
错误:从“const value_type {aka const int}”类型的表达式中对“int&”类型的引用进行无效初始化
【问题讨论】:
-
如果逻辑相同,让其中一个调用另一个应该可以解决问题,不是吗?
-
没有
const_cast,你怎么做? -
这些功能的实现方式是什么?如果它们是相同的(正如你的陈述所暗示的那样),那么你可以简单地写其中一个而忽略另一个。
-
@ZacHowland 我需要能够编辑信息并在其他 const 方法中访问它。
标签: c++ optimization operators operator-overloading