lxyfirst

C++博客 首页 新随笔 联系 聚合 管理
  33 Posts :: 3 Stories :: 27 Comments :: 0 Trackbacks
1.c++继承体系中内存布局的padding是保留的,这是为了防止父类和子类互相赋值时出现语义错误。
2.同样由于内部实现的差别,如padding或vptr的存在,慎用memset等内存直接操作方式,c++标准没有规定内存的布局细节。
3.指向对象成员的指针类型,其值是偏移值,这就产生一个问题,指向第一个成员的偏移值为0,空指针值也为0,必须对这种情况加以区分,实现策略是将指向成员的指针值(偏移)被加1,用以和空指针区分开来,因此使用指向成员的指针值应减1以得到真实的偏移。
X::*p=0 ;
X::*p=&X::first ;

posted on 2009-05-22 12:37 star 阅读(159) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理