【发布时间】:2015-08-27 17:31:58
【问题描述】:
decimal d = 2;
int i = (int) d;
我已经多次看到括号包裹数据类型的情况。
为什么不直接使用int i = int d;?
【问题讨论】:
-
这是type casting的语法。
-
它是变量
d的转换,它被定义为decimal到int的类型,以便允许将d分配给i而不是生成编译器警告。通常这不是一个好的做法,并且可能导致神秘的错误。 -
我们不知道
decimal是什么,但我们知道您可以使用值2初始化decimal。鉴于这些信息,演员表是不必要的;int i = d;将隐式执行转换。如果演员表是不平凡的,那么明确表示可能是有意义的。decimal是什么?
标签: c syntax parentheses