我正在创建一个库,它将具有类似于 python 的概念。
C 没有像 python 那样的任何幂运算符 (**
) (例如 pow(x,n)
等同于 x**n
在 Python 中)。
我尝试使用预处理器指令解决这个问题。但没有找到任何技巧。
因为 ^ 这个运算符是用于 XOR 运算所以我认为它不能用于幂运算符(我们可以吗?)
所以替代解决方案是双星(**
),因为 **
是编译器无法识别的运算符,所以我们如何让编译器知道它。
为此建议方法或解决方案。
最佳答案
您不能向 C++ 添加新的运算符,因此使用 **
(或其他一些新事物)已经过时了。此外,当双方都是内置类型时,您不能重载运算符,因此使用现有运算符(例如 ^
)来实现将 float /整数提升为 float /整数的幂也是不可行的。参见 this question on Stroustrup's C++ FAQ (如以下评论中所述。)
您可以实现自己的数字类并为它重载任何您想要的运算符,但这并不容易,也不会像您想象的那样“优雅”或酷。
所以,只需使用一个函数。
关于c++ - 幂运算符C语言程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19794419/