C ++演员语法样式

C ++演员语法样式

你更喜欢C ++中的演员语法风格?

  • C风格的演员语法: (int)foo

  • C ++ - 样式转换语法: static_cast<int>(foo)

  • 构造函数语法: int(foo)

它们可能无法转换为完全相同的指令(是吗?)但它们的效果应该相同(对吗?)。

如果你只是在内置数值类型之间进行转换,我发现C ++风格的转换语法太冗长了。作为以前的Java编码器,我倾向于使用C风格的转换语法,但我的本地C ++专家坚持使用构造函数语法。

你怎么看?


蝴蝶刀刀
浏览 490回答 3
3回答

狐的传说

根据Stroustrup的说法:引入了“新式演员阵容”,使程序员有机会更清楚地表达他们的意图,并让编译器捕获更多错误。所以,它确实安全,因为它进行额外的编译时检查。

慕少森

关于这个主题,我正在遵循Scott Meyers的建议(更有效的C ++,第2项:首选C ++ - 风格的演员表)。我同意C ++样式演员是冗长的,但这就是我喜欢它们:它们很容易被发现,并且它们使代码更容易阅读(这比写作更重要)。它们还会迫使你思考你需要什么样的演员阵容,并选择合适的演员阵容,降低犯错的风险。它们还可以帮助您在编译时检测错误,而不是在运行时。
打开App,查看更多内容
随时随地看视频慕课网APP