【发布时间】:2020-05-07 05:09:48
【问题描述】:
我们可以在 c++ 中定义自己的运算符吗?
我需要将 a%%b 定义为 (a%b+b)%b,因为有时 a%b 会给出负值(-239%5=-4),我想要正向提醒。因此,如果 a%b 为负数,则将 b 添加到 a%b 并返回该值。这可以简单地使用 (a%b+b)%b 来完成。 我试过了
#define a%%b (a%b+b)%b
但它给出了错误。 我们可以使用函数来做到这一点
int mod(int a, int b){
return (a%b+b)%b;
}
但我想通过定义一个“for”循环来做到这一点
#define f(i,a,b) for(int i=a;i<b;i++)
请建议我一种将 a%%b 定义为 (a%b+b)%b 的方法。
【问题讨论】:
-
没有。您只能重载现有的运算符。
-
任何体面的书籍、教程或课程都应该拒绝。
-
是的,感谢您的回答。
标签: c++