(int) + 4*5;
为什么这样做(添加带有值的类型)是可能的?(尝试使用g ++和gcc。)
我知道这没有意义(也没有影响),但是我想知道为什么这是可能的。
(int) + 4*5;
为什么这样做(添加带有值的类型)是可能的?(尝试使用g ++和gcc。)
我知道这没有意义(也没有影响),但是我想知道为什么这是可能的。
cppinsights
,可以帮助您从编译器前端的角度了解代码的外观。它也有一个在线版本,您可以看到它讲述了您的示例(与您得到的答案相同的“括号”)
+(int)+ 4*5;
and -(int)- 4*5;
,-+-+-(int)-+-+- 4*5;
并且在诗意上更少;
Answers:
这被解释为((int)(+4)) * 5
。也就是说,将表达式+4
(应用于文字的一元加运算符4
)转换为int
使用C样式转换的类型,然后将结果乘以5
。
(int)-4*5