C中的电力运营商计划

时间:2013-11-05 16:52:22

标签: c++ python c

我正在创建一个具有类似python概念的库。 C没有像python那样的幂运算符(**)(例如pow(x,n)相当于python中的x**n

我尝试使用预处理器指令解决此问题。但没有找到任何技巧。

由于^此运算符用于XOR运算,因此我认为它不能用于幂运算符(我们可以吗?)

所以替代解决方案是双星(**),因为**是编译器无法识别的运算符,所以我们如何让编译器知道它。

为此建议方法或解决方案。

1 个答案:

答案 0 :(得分:3)

您不能向C ++添加新的运算符,因此使用**(或其他一些新东西)是不对的。此外,当双方都是内置类型时,你不能重载运算符,因此使用现有的运算符(例如^)来实现浮点数/整数浮点数/整数的浮点数/整数也是不合适的。请参阅this question on Stroustrup's C++ FAQ(如下面的评论中所述。)

你可以实现你自己的数字类并重载你想要的任何操作符,但这并不容易,它不会像你想象的那样“优雅”或酷。

所以,只需使用一个函数。