C++ 总是使用 checked_cast 而不是 static_cast?
C++ always use checked_cast instead of static_cast?
当我读到 C++ 转换运算符时,我通常会看到 4 种类型的转换,例如:
Cast types
const_cast
dynamic_cast
reinterpret_cast
static_cast
但是 checked_cast
如此处所述呢
checked_cast
我们是否应该始终使用 checked_cast
而不是 static_cast
作为经验法则?
checked_cast
仅替换 static_cast
.
那篇文章假定您永远不想进行有损转换。如果你有一个 float
并且 想要 最大的 int
不大于那个,checked_cast
是不正确的。
它还假设转换是双向的。如果不是,则格式错误。
当我读到 C++ 转换运算符时,我通常会看到 4 种类型的转换,例如: Cast types
const_cast
dynamic_cast
reinterpret_cast
static_cast
但是 checked_cast
如此处所述呢
checked_cast
我们是否应该始终使用 checked_cast
而不是 static_cast
作为经验法则?
checked_cast
仅替换 static_cast
.
那篇文章假定您永远不想进行有损转换。如果你有一个 float
并且 想要 最大的 int
不大于那个,checked_cast
是不正确的。
它还假设转换是双向的。如果不是,则格式错误。