有没有理由在非指针POD数据类型上使用static_cast,比如int,float,double?
float v = 100;
int x = (int) v vs int x = static_cast<int>v
使用它有什么理由/优势,我看到几个答案涵盖了指针,但普通的POD数据我找不到关于非指针的明确答案。
答案 0 :(得分:1)
我听到的最好的理由是因为你可以为static_cast
寻找并且知道你只会找到演员阵容,而(int)
对于那些正在发生的事情不太具体表达
此外,C风格的演员表可以删除或添加const
或volatile
并更改类型而不会发出任何警告。如果您尝试static_cast
const
指针/引用类型为非const
指针/引用类型,则会出现编译错误。