【发布时间】:2013-11-16 15:32:25
【问题描述】:
我正在创建一个库,其中包含类似于 python 的概念。
C 没有任何像 python 那样的幂运算符 (**)(例如,pow(x,n) 相当于 python 中的x**n)。
我尝试使用预处理器指令来解决这个问题。但没有找到任何技巧。
由于 ^ 这个运算符是异或运算,所以我认为它不能用于幂运算符(可以吗?)
所以替代解决方案是双星(**),因为** 是编译器无法识别的运算符,所以我们如何让编译器知道这一点。
为此建议方法或解决方案。
【问题讨论】:
-
只需使用
pow。 Python 也有一个pow函数。 -
这并不容易,因为运算符解析和优先级需要改变。在大多数编译器中,这是编译器内部的。
-
C 不允许运算符重载。感谢上帝。
-
创建您自己的新编程语言
C**。祝你好运;)。 -
编写自己的预处理器是一种选择。一个疯狂的疯狂选择。