【发布时间】:2016-11-02 06:25:21
【问题描述】:
这个问题是为了好玩,我知道我不能定义operator_。
但是,我真的想“改变”这条规则,将以下内容视为有效(valid 定义松散!)。
T result = somevar _ someother;
我没有提供可能的解决方案,但也许你可以,可能使用一些预处理器 übertricks。 (当然#define _ SOMETHING有点危险)
非常感谢任何帮助!
【问题讨论】:
-
出于兴趣,你想让这个“操作员”做什么?
-
你已经给出了答案,直接使用
#define _ OPERATOR_OF_YOUR_CHOICE,但它有什么乐趣呢?恕我直言,宏和混淆代码都不好玩 -
@RichardHodges 什么,返回另一个具有不同内容的
T,我现在没有具体的想法。以class T { public: int content; };为例。 -
@tobi303 有趣的是尽量避免
#define,如果可能的话。是的,我发现混淆很有趣! :) -
@nwp 好吧,玩得开心与否仍然是一个公开辩论...stackoverflow.com/questions/5508110/…
标签: c++ c++11 operator-overloading c++14