转换 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** 生成,宏执行转换,而无需任何类型检查。
必须从派生 CObject 在 class_name 参数指定的类,并且必须使用 DECLARE_DYNAMIC 和 IMPLEMENT_DYNAMIC、 DECLARE_DYNCREATE 和 IMPLEMENT_DYNCREATE或 DECLARE_SERIAL 和 IMPLEMENT_SERIAL 宏下一个文章 CObject 类:派生类从 CObject说明。
例如,您可能将指向 CMyDoc,调用 pMyDoc,对指针 CDocument 使用此表达式:
CDocument* pDoc = STATIC_DOWNCAST(CDocument, pMyDoc);
如果 pMyDoc 不指向从 CDocument直接或间接派生的对象,宏将 ASSERT。
要求
Header: afx.h