Progtwig de operador de energía en C

Estoy creando una biblioteca que tendrá conceptos similares de python. C no tiene ningún operador de energía como python ( ** ) (por ejemplo, pow(x,n) es equivalente a x**n en python).

Intenté resolver este problema utilizando una directiva de preprocesador. Pero no encontré ningún truco.

Dado que ^ este operador es para la operación XOR, entonces creo que no se puede usar para operadores eléctricos (¿podemos?)

por lo tanto, la solución alternativa es doble estrella ( ** ) porque ** es un operador no reconocido para el comstackdor, así que ¿cómo podemos dar a conocer esto al comstackdor?

Sugerir un enfoque o solución para esto.

No puede agregar nuevos operadores a C ++, por lo que se elimina ** (o alguna otra cosa nueva). Además, no puede sobrecargar los operadores cuando ambos lados son tipos integrados, por lo tanto, el uso de un operador existente (por ejemplo, ^ ) para implementar el aumento de flotadores / ints a potencias que son flotadores / ints también está fuera. Vea esta pregunta en las preguntas frecuentes de C ++ de Stroustrup (como se menciona en los comentarios a continuación).

Puede implementar su propia clase numérica y sobrecargar cualquier operador que desee para ello, pero no será fácil y no será tan “elegante” o tan genial como parece pensar.

Entonces, solo usa una función.