次の方法で共有


CDumpContext::operator <<

更新 : 2007 年 11 月

指定したデータをダンプ コンテキストに出力します。

CDumpContext& operator <<(
   const CObject* pOb 
);
throw(
   CFileException* 
);
CDumpContext& operator <<(
   const CObject& ob 
);
throw(
   CFileException* 
);
CDumpContext& operator <<(
   LPCTSTR lpsz 
);
throw(
   CFileException* 
);
CDumpContext& operator <<(
   const void* lp 
);
throw(
   CFileException* 
);
CDumpContext& operator <<(
   BYTE by 
);
throw(
   CFileException* 
);
CDumpContext& operator <<(
   WORD w 
);
throw(
   CFileException* 
);
CDumpContext& operator <<(
   DWORD dw 
);
throw(
   CFileException* 
);
CDumpContext& operator <<(
   int n 
);
throw(
   CFileException* 
);
CDumpContext& operator <<(
   double d 
);
throw(
   CFileException* 
);
CDumpContext& operator <<(
   float f 
);
throw(
   CFileException* 
);
CDumpContext& operator <<(
   LONG l 
);
throw(
   CFileException* 
);
CDumpContext& operator <<(
   UINT u 
);
throw(
   CFileException* 
);
CDumpContext& operator <<(
   LPCWSTR lpsz 
);
throw(
   CFileException* 
);
CDumpContext& operator <<(
   LPCSTR lpsz 
);
throw(
   CFileException* 
);
CDumpContext& operator <<(
   LONGLONG n 
);
CDumpContext& operator <<(
   ULONGLONG n 
);
CDumpContext& operator <<( 
   HWND h 
);
CDumpContext& operator <<( 
HDC h 
);
CDumpContext& operator <<( 
HMENU h 
);
CDumpContext& operator <<( 
HACCEL h 
);
CDumpContext& operator <<( 
HFONT h 
);

戻り値

CDumpContext 参照。この戻り値を使用して、ソース コードの 1 行に複数の出力ストリーム演算子を書き込むことができます。

解説

出力ストリーム演算子は、ほとんどのプリミティブ型と同じように、CObject ポインタに対してもオーバーロードされます。char へのポインタは、文字列のダンプに使い、void へのポインタは、アドレスの 16 進形式のダンプにだけ使います。LONGLONG は 64 ビットの符号付き整数のダンプに使い、ULONGLONG は 64 ビットの符号なし整数のダンプに使います。

IMPLEMENT_DYNAMICIMPLEMENT_SERIAL マクロを組み込んでクラスを実装すると、CObject::Dump を使った出力ストリーム演算子は、CObject の派生クラスのクラス名を表示します。それ以外の場合は、CObject が表示されます。派生クラスの Dump 関数をオーバーライドすると、オブジェクトの内容を 16 進形式でダンプする代わりに、有効な出力を用意できます。

使用例

#if _DEBUG
   CStringList li;
   li.AddHead(_T("item 0"));
   li.AddHead(_T("item 1"));
   CString s = _T("test");
   int i = 7;
   long lo = 1000000000L;
   LONGLONG lolo = 12345678901234i64;
   afxDump << _T("list=") << &li << _T("string=")
      << s << _T("int=") << i << _T("long=") << lo 
      << _T("LONGLONG=") << lolo << _T("\n");
#endif

必要条件

ヘッダー : afx.h

参照

参照

CDumpContext クラス

階層図

その他の技術情報

CDumpContext のメンバ