Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
以下是演员表:
int foo = (int) somefloat;
但是,这是否被视为演员表?
int foo = int( somefloat );
更重要的是,如果两者之间存在差异,那么生成的编译代码是否不同?
第二个示例通常称为函数样式转换,并已添加到 C++ 中,但两者在语义/目标代码方面没有区别。
这是对添加函数样式转换的原因的一个很好的解释:
C++ 函数样式转换的目的到底是什么?
结果没有区别,但是只能在 C 中使用第一个示例。在 C++ 中,您可以同时使用两者。
是的,这也是一个演员表。C++ 支持这种类型的转换,C 只有(type)expression格式转换。它们是等价的。
(type)expression