static_cast可实现,
     1 基本类型之间的转换
2 void指针转换为任意基本类型的指针
3 用于有继承关系的子类与父类之间的指针或引用的转换
用于基本类型转化时,会损失精度类似于C语言的强制转化;
下面先看一下void指针的转换;
void CCastView::OnDraw(CDC* pDC)
{
	CCastDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	CString str1;
	int *a = new int(1);
	void *v = static_cast<void *>(a);
	int *p = static_cast<int *>(v);
	*a=2;
	str1.Format("%d", *a);
	pDC->TextOut(30,30,str1);
	str1.Format("%d",*p);
	pDC->TextOut(30,60,str1);
	str1.Format("%p",a); 
	pDC->TextOut(30,90,str1);
	str1.Format("%p",p);
	pDC->TextOut(30,120,str1);
} 
a是指向int类型指针,一开始 *a = 1;
然后转换a得到v,转换v得到p;
再改变*a为2;
输出如下;

*a和*p是一个;a和p相同;
%p格式化符用于输出地址;



















