|
|
1
42
不,这是不可能的。您需要创建一个方法 |
|
|
2
31
|
|
3
19
正如其他答案所说,你不能创建一个新的操作符——至少,不改变编译器中内置的词法分析器和解析器是不行的。基本上,编译器是用来识别像
对于具有开源编译器(如GCC)的语言,理论上可以修改编译器以识别新的运算符。但这并不是特别容易,而且,每个人都需要您的自定义编译器来使用您的代码。 |
|
|
4
8
你不仅不能这样做,而且你为什么要这样做? 我不确定y和z是什么类型,但如果它们是数值类型,您可能可以使用:
尽管就我个人而言,我还是更愿意:
但我有点像一个:垃圾。
|
|
|
5
6
我很惊讶没有人提到
当编译器对表达式求值时,它必须关注以正确的顺序执行操作,以便
重写and运算符时,可以更改运算符的操作,但不能更改编译器对其求值的顺序。如果您确实创建了一个新的运算符,则无法告诉编译器相对于其他运算符的求值顺序。所以如果你写
|
|
|
6
5
|
|
7
-4
您可以尝试重载其他操作员,如
|
|
|
minus one · 空条件和空合并运算符*与*纯布尔表示法 8 年前 |
|
|
zaozaoer · >>java中带负字节值的and>>>运算符 8 年前 |
|
|
Ganesh Thampi · 使用位的奇偶程序 8 年前 |
|
|
FredMan · Rust中的<-符号是什么? 8 年前 |
|
|
user9578589 · Java条件数组 8 年前 |
|
|
Francisco José Letterio · 无法理解指针操作 8 年前 |
|
|
Danny · 如何在r中键入grep中的运算符 8 年前 |
|
|
David Rector · 什么是?=操作员在Swift中做什么? 8 年前 |
|
|
Gian · “/”操作符在Lua中提供什么功能? 8 年前 |