????1.1       ??????????
?????????????C?????????????????????????????????????????????????????????????????????????double?????????????int????????????£?
????double x = 3.14;   int y = ??int??x;
?????????????и??????????????int *????????????int  ?????????£?
????int x = 20; int *p = &x; int y = (int)p;
??????C++??????????????????????????????????????????????μ?????????????????????????
????static_cast              ????????????????????????????????
????const_cast              ???????????????????
????dynamic_cast        ??????????£??????????????
????reinterpret_cast        ?????????????????????????
????1.       C++?е?static_cast??з?????????????????C?????????????????????????????????????á????磺
????int i;
????float f = 166.7f;
????i = static_cast<int>(f);
????????????i????166??
????2.       C++?е?reinterpret_cast???????????????????????????????????ν“????????????λ????????????????”????????????????????????????????????磺
????int i;
????char *p = "This is a example.";
????i = reinterpret_cast<int>(p);
????????????i??p??????????????reinterpret_cast??????????????p???????????λ??????????????????????????i??//i ????????????????????????????????????????λ?????
???????????????????“???·???”
????3.       dynamic_cast??????????μ????????????????????????????????????????????
?????????μ??????????????dynamic_cast??static_cast??Ч??????????
???????????????????dynamic_cast?????????????????static_cast???????
class B{
public:
int m_iNum;
virtual void foo();
};
class D:public B{
public:
char *m_szName[100];
};
void func(B *pb)
{
D *pd1 = static_cast<D *>(pb);
D *pd2 = dynamic_cast<D *>(pb);
}
????????????????У????pb??????D????????pd1??pd2?????????????????????????D??????κβ????????????
????????????pb?????????B???????????pd1??????????????????????????D????????????????????????m_szName??????pd2????????????