由于cppcheck cstyleCast样式警告,我试图消除代码库中的所有C风格转换。将C风格转换为static_cast总是安全吗?
将C型转换为static_cast
总是安全吗?
安全,我的意思是,有一种情况,旧的C风格演员将工作正常,但static_cast
会引发错误或未定义的行为?
type1 a;
type2 b = (type2)a; // C style cast
type2 b = static_cast<type2>(a); // Is this always a valid replacement for above cast?
C cast可能是一个'const_cast',但在这种情况下,您将有'static_cast'的编译时错误。 – Jarod42