c++ - 幂运算符C语言程序

标签 c++ python c

我正在创建一个库,它将具有类似于 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/

相关文章:

c - C中如何判断多个线程同时调用函数?

python - 如何使用 Python 和 Pandas 查找具有单个字符的句子

python 、 Pandas : Groupby Threshold Value

c - avr c : creating blink/beep sound based on characters in string

c++ - 在 C++ 中避免全局变量的好风格

c++ - 当 memcpy() 比 memmove() 快时,什么是真正重要的情况?

c++ - 使用 boost::random 库获取整数随机值而不是实际值

c++ - 为多维数组创建内存空间

python - 计算指定范围列的所有行中的非 0 值 - Python Pandas

c - Visual Studio Code 为 C 提供了 "#include error detected"