我无法理解reinterpret_cast和static_ cast的概念。任何人都可以使用ASCII艺术或类似的东西以简单的方法解释..
答案 0 :(得分:1)
reinterpret_cast
只能与指针或引用一起使用。这意味着您打算将指向T
的指针所指向的内存视为包含U
类型的对象。如果它不包含这样的对象(由C ++标准中的严格别名规则定义),则它是未定义的行为。
static_cast
执行转换。使用指针或引用时,它类似于reinterpret_cast
,但它强制T
和U
必须是兼容类型。使用对象类型,它会查找这两种对象类型之间的已定义转换。