运算符优先级超载在C 中

Operator Precedence Overloading in C++

本文关键字:超载 优先级 运算符      更新时间:2023-10-16

当您在C 中超载运算符时,为什么不更改操作员优先级?例如,如果您有一个类,在乘法之前进行添加是有意义的,那么如何使添加操作员具有比乘法更高的优先级?

这与此问题操作员超负荷和优先级不同因为我问为什么以及如何解决此限制。

我希望避免编译器自定义,并仅使用C 14标准。第三方库还可以。

传统编译器设计首先解析语法,然后弄清每个操作员来自何处。

像YACC这样的编译器设计工具早在C 之前就存在。因此,传统编译器会随着时间的推移而演变,遵循首先解析源代码语法的一般原则,然后试图弄清楚如何与每个操作员做些什么。因此,编译器首先看到了语言的结构,也是最重要的。而且C 标准实际上希望使编写C 编译器不重新发明已经发明的每个轮子。