不断更新:

数据对齐,见:http://book.csdn.net/bookfiles/827/10082724877.shtml#_ftn10

字节对齐,说明见:http://blog.csdn.net/zzffly9/archive/2007/10/26/1844421.aspx

dynamic_cast可以用于类之间的交叉转换,说明如下:

dynamic_cast还支持交叉转换(cross cast)。如下代码所示。
class A{
public:
int m_iNum;
virtual void f(){}
};

class B:public A{
};

class D:public A{
};

void foo(){
B *pb = new B;
pb->m_iNum = 100;

D *pd1 = static_cast(pb); //compile error
D *pd2 = dynamic_cast(pb); //pd2 is NULL
delete pb;
}

在函数foo中,使用static_cast进行转换是不被允许的,将在编译时出错;而使用 dynamic_cast的转换则是允许的,结果是空指针。

 

posted on 2009-11-30 00:45  !-_-木糖-_-!  阅读(671)  评论(0编辑  收藏  举报