STATIC_DOWNCAST
class_name の オブジェクトへのポインターにキャストの pobject 。
STATIC_DOWNCAST(class_name, pobject )
パラメーター
class_name
にキャスト クラスの名前。pobject
class_name の オブジェクトへのポインターにキャストするポインター。
解説
pobject はclass_nameから直接派生する、または間接的に、必要があります。クラスのオブジェクトへの NULL、またはポイントである。定義された _DEBUG のプリプロセッサ シンボルを使用したアプリケーションのビルドではマクロは pobject がNULLの場合は class_name パラメーターで指定されたクラス 「の」種類 (ではないオブジェクトをポイントすると CObject::IsKindOfを参照してください) ASSERT 。_DEBUG の非ビルドでは、マクロは型チェックなしでキャストを実行します。
class_name パラメーターで指定されているクラスはから派生し、 CObject 技術情報 CObject クラス: CObject から派生するクラスを作成します。で説明しているように DECLARE_DYNAMIC と IMPLEMENT_DYNAMIC、 DECLARE_DYNCREATE と IMPLEMENT_DYNCREATE、または DECLARE_SERIAL と IMPLEMENT_SERIAL のマクロを使用する必要があります。
たとえば、式を使用して CDocument へのポインターに pMyDocという CMyDocポインターにキャストしますかも知れません:
CDocument* pDoc = STATIC_DOWNCAST(CDocument, pMyDoc);
pMyDoc が CDocumentから直接または間接的に派生オブジェクトを指していないマクロは ASSERT。
必要条件
ヘッダー : afx.h