相关Regular cast vs. static_cast vs. dynamic_cast一个问题:C++的类型转换风格
投什么风格的语法,你用C++喜欢?
- C样式转换语法:
(int)foo
- C++ - 风格转换语法:
static_cast<int>(foo)
- 构造函数的语法:
int(foo)
他们可能不翻译成一模一样的指令(是吗?)但他们的效果应该是一样的(对吧?)。
如果你只是在内建的数字类型之间进行转换,我觉得C++风格的转换语法太冗长了。作为以前的Java编程人员,我倾向于使用C风格的转换语法,但我的本地C++ guru坚持使用构造函数语法。
您认为如何?
我想知道您在代码中搜索了多少次演员自动化工具... – Blindy 2010-12-05 05:08:53
@盲目:它发生了。我已经做到了。请记住,在C++中,与其他一些语言(Java,C#)不同,您通常可以编程而不用强制转换。代码中的每一个明确的转换都是潜在的设计缺陷。识别C++代码中的强制转换是重构中的一个重要步骤。在C#中,在代码中搜索代码当然是荒谬的 - 它们无处不在! – 2010-12-05 10:30:17