二义性分为两种
- 显式二义性
a = ++a+++b # C++中会被编译器理解为++(a++)+y, 会引发编译异常
- 隐式二义性
b = ++a + (++a) + (++a) printf("%d %d %d", a, ++a, --a) # 表达式或多参函数中连续对同一变量自增自减, 在不同系统中得到的结果不一样
Golang中不允许自增自减出现在运算和函数传参中, 只能单独使用-.-
二义性分为两种
a = ++a+++b
# C++中会被编译器理解为++(a++)+y, 会引发编译异常
b = ++a + (++a) + (++a)
printf("%d %d %d", a, ++a, --a)
# 表达式或多参函数中连续对同一变量自增自减, 在不同系统中得到的结果不一样
Golang中不允许自增自减出现在运算和函数传参中, 只能单独使用-.-