STATIC_DOWNCAST

转换 pobject 为指向 class_name 对象。

STATIC_DOWNCAST(class_name, pobject )

参数

  • class_name
    转换后的类的名称。

  • pobject
    要转换的指针的指针 class_name 对象。

备注

pobject 必须是 NULL,或者指向直接派生类的对象,或者取消,从 class_name。在具有定义的 _DEBUG 预处理器符号的应用程序进行编译,宏将 ASSERT ,如果 pobject 不是 NULL,或者,如果它指向不是在 class_name 参数中指定了 “类 (的对象参见 CObject::IsKindOf)。在非**_DEBUG** 生成,宏执行转换,而无需任何类型检查。

必须从派生 CObjectclass_name 参数指定的类,并且必须使用 DECLARE_DYNAMICIMPLEMENT_DYNAMICDECLARE_DYNCREATEIMPLEMENT_DYNCREATEDECLARE_SERIALIMPLEMENT_SERIAL 宏下一个文章 CObject 类:派生类从 CObject说明。

例如,您可能将指向 CMyDoc,调用 pMyDoc,对指针 CDocument 使用此表达式:

CDocument* pDoc = STATIC_DOWNCAST(CDocument, pMyDoc);

如果 pMyDoc 不指向从 CDocument直接或间接派生的对象,宏将 ASSERT

要求

Header: afx.h

请参见

参考

DYNAMIC_DOWNCAST

static_cast运算符

概念

MFC宏和Globals