【发布时间】:2019-09-11 00:14:04
【问题描述】:
(int) + 4*5;
为什么这(添加带有值的类型)是可能的? (用 g++ 和 gcc 试过。)
我知道这没有意义(也没有效果),但我想知道为什么会这样。
【问题讨论】:
-
同
(int)-4*5 -
有一个名为
cppinsights的有用工具,它有助于从编译器前端的角度理解代码的外观。它还有一个在线版本,你可以看到它讲述了 your example 的内容(与你给出的答案相同的“括号”) -
此语句等效于
+(int)+ 4*5;和-(int)- 4*5;和-+-+-(int)-+-+- 4*5;不那么诗意; -
哪部分让您感到困惑?据我所知,你在问为什么你可以写 5 而不指示符号。
-
不应该 C++ 警告你在 C++ 中不推荐 C 类型转换吗?
标签: c++ c casting language-lawyer