C++ 类型转换惯用法

标签 c++ casting

现在 C++ 中一般转换的标准习惯用法是什么?

C 习惯用法是:

(int)t.

我一直在使用:

static_cast<int>(t).

但我最满意的是:

int(t).

大师是做什么的?

最佳答案

C++ 风格的转换总是更可取的。我可以列举三个更喜欢 C++ 类型转换而不是 C 风格类型转换的充分理由:-

1)它们有助于提高可读性。任何人只要看一眼你的代码就会知道使用了强制转换,而 C 风格的强制转换则不然。

2) C++中有4种不同的强制转换,可以清楚地表达程序员的意图。

3) C++ 风格的强制转换由编译器检查,以确保强制转换是否在正确的上下文中使用。

关于C++ 类型转换惯用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26910860/

相关文章:

c# - 将对象列表转换为枚举作为键、对象列表作为值的字典时出现转换错误

c++ - 在 C++ 中重载二元关系运算符的正确方法

C#性能分析——如何统计CPU周期?

c - 将 void * 类型转换(或遵从)为 struct foo*

python - 发现未记录程序的 IPC 接口(interface)?

C# 无法将类型 'System.Double' 的对象转换为类型 'System.Single'

c++ - 使用 reinterpret_cast 序列化和反序列化数据

c++ - 将 int* 转换为字符串,然后将字符串转换为 int*

c++ - DebugBreak 不中断

c++ - 将自定义构建步骤的输出添加到项目