dynamic_cast : 由父类转化成子类QGraphicsItem *gitem,CIMGSensitive是QGraphicsItem子类
CIMGSensitive *pStation = dynamic_cast<CIMGSensitive*>(gitem);
//判断,如果(pStation)为空,则转换失败
if (pStation)
{
}
子类转父类:
直接转就可以了 QGraphicsItem *pStation = (QGraphicsItem *)(gitem);
static_cast:静态转换 ,将float转double,int 转float等
这里用这个的好处是不会产生警告错误了
如:
float a;
double b = static_cast(double) a;
reinterpret_cast<>指针类型的强制转换
CIMGSensitive *pStation = dynamic_cast<CIMGSensitive*>(gitem);
//判断,如果(pStation)为空,则转换失败
if (pStation)
{
}
子类转父类:
直接转就可以了 QGraphicsItem *pStation = (QGraphicsItem *)(gitem);
static_cast:静态转换 ,将float转double,int 转float等
这里用这个的好处是不会产生警告错误了
如:
float a;
double b = static_cast(double) a;
reinterpret_cast<>指针类型的强制转换
本文深入探讨C++中用于类型转换的动态cast和静态cast的使用方法,包括如何从子类安全地转换为父类指针,以及如何进行不同基本类型之间的转换,同时解释了reinterpret_cast的作用。


被折叠的 条评论
为什么被折叠?



