STATIC_DOWNCAST

In this article

  1. Syntax
  2. Parameters
  3. Remarks
  4. Requirements
  5. See Also

 

Casts pobject to a pointer to a class_name object.

Syntax

Copy

STATIC_DOWNCAST(
class_name
, pobject )

Parameters

  • class_name
    The name of the class being cast to.

  • pobject
    The pointer to be cast to a pointer to a class_name object.

Remarks

pobject must either be NULL, or point to an object of a class which is derived directly, or indirectly, from class_name. In builds of your application with the _DEBUG preprocessor symbol defined, the macro will ASSERT if pobject is not NULL, or if it points to an object that is not a "kind of" the class specified in the class_name parameter (see CObject::IsKindOf). In non-_DEBUG builds, the macro performs the cast without any type checking.

The class specified in the class_name parameter must be derived from CObject and must use the DECLARE_DYNAMIC and IMPLEMENT_DYNAMIC, the DECLARE_DYNCREATE and IMPLEMENT_DYNCREATE, or the DECLARE_SERIAL and IMPLEMENT_SERIAL macros as explained in the article CObject Class: Deriving a Class from CObject.

For example, you might cast a pointer to CMyDoc, called pMyDoc, to a pointer to CDocument using this expression:

c++Copy

CDocument* pDoc = STATIC_DOWNCAST(CDocument, pMyDoc);

If pMyDoc does not point to an object derived directly or indirectly from CDocument, the macro will ASSERT.

Requirements

Header: afx.h

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值