在函数foo中,使用static_cast进行转换是不被允许的,将在编译时出错;而使用dynamic_cast的转换则是允许的,结果是空指针。 reinpreter_cast 用法:reinpreter_cast<type-id> (expression) 说明:type-id必须是一个指针、引用、算术类型、函数指针或者成员指针。它可以把一个指针转换成一个整数,也可以把一个整数转换成一...
dynamic_cast适用局限性,仅适用指针或引用,类型转换是额外开销;static_cast适用于所有,无类型检查额外开销。 dynamic_cast要检查转换后指针情况,是否为空;static_cast不需要,但是要心中有数。 2. reinpreter_cast 用法:reinpreter_cast<type-id> (expression) 说明:type-id必须是一个指针、引用、算术类型、函数指针或...
dynamic_cast适用局限性,仅适用指针或引用,类型转换是额外开销;static_cast适用于所有,无类型检查额外开销。 dynamic_cast要检查转换后指针情况,是否为空;static_cast不需要,但是要心中有数。 2. reinpreter_cast 用法:reinpreter_cast<type-id> (expression) 说明:type-id必须是一个指针、引用、算术类型、函数指针或...
reinpreter_cast用法:reinpreter_cast < type-id > ( expression )type-id必须是一个指针、引用、算术类型、函数指针或者成员指针。它可以把一个指针转换成一个整数,也可以把一个整数转换成一个指针(先把一个指针转换成一个整数,再把该整数转换成原类型的指针,还可以得到原先的指针值)。该运算符的用法比较多。