自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (3)
  • 收藏
  • 关注

原创 C++对象模型(五)

<br />第四章函数语义学<br />众所周知的,在C++中,跟类相关的成员函数有三种,静态函数、非静态函数、虚拟函数。本章介绍了这几种函数的来源、用在何处、编译器如何实现、及效率。<br />非静态成员函数:<br />简单的说,非静态成员函数就是非成员函数中加入了一个this指针的参数(不需要其他更多的解释了)。<br />书中还特意提到了名称的特殊处理(Name Mangling)。<br />一般来说,对于一个非静态成员函数,Name Mangling的处理后的函数名是:函数名+类

2010-11-22 23:23:00 420 1

原创 C++对象模型(四)

<br />指向数据成员的指针<br />使用指向数据成员的指针,关键是看这个类的vptr放在类的哪个部位。一般放在头部或尾部。<br />对于某些编译器,往往还用在位移上加一个字节。加这个字节的目的是,区分没有指向任何数据成员的指针和已经指向一个数据成员的指针。因为,如果没有这个字节,当指针指向第一个类成员时,有可能和空指针的内容相同。<br />在VC编译器中,没有该附加的字节。<br />#include <stdio.h><br /><br />class Pointnd<br />{<br

2010-11-21 20:37:00 364

原创 C++对象模型(三)

多重继承的数据成员布局<br />这里解释了这样的问题:当一个类从多个类继承时,并且这些类可能从其他类中继承的情况下,类的数据结构如何布局?<br />答案是,先将基类的成员依次排列,最后放本类的数据成员。<br />问题是有多个基类,这些基类的顺序是怎样的呢?C++标准并没有定义。但是一般来说,编译器会把先定义的基类的数据成员放在前面。<br />由此,写代码的时候,如果需要将派生类转换为基类类型时,必须注意以下两点:<br />1、  如果在派生类中,该基类成员排在所有数据最前面,则直接转换,不

2010-11-21 00:03:00 323

原创 C++对象模型(二)

第三章 数据语义学       本章着重介绍了C++的类数据对象的布局。对于一般的类来说,影响内存布局的几个因素主要有:1、  语言本身的负担,如vptr等;2、  编译器对特殊情况的处理;3、  字节对齐的限制。  这些都影响了类的大小。  C++标准没有明确规定编译器各种数据的编排规则,只是规定“较晚出现的成员具有较高的地址”。所以,在一

2008-08-24 17:23:00 363

原创 C++对象模型(一)

第二章 构造函数一、缺省构造函数       构造函数令人烦恼的一点是总是在编写代码不知道的情况下产生。本章就是针对这个问题,说明构造函数在什么情况下产生。       构造函数的产生原则:在需要的时候产生!       那么什么时候是需要的时候呢?“需要”分为用户需要和编译器需要。如果用户需要在构造函数中初始化对象,那么,这是用户的责任,编译器是不会干预的

2008-08-21 21:02:00 427

多个游戏系统的策划和设计

游戏系统中不同模块的详细设计。适用于需要进行游戏设计的人员,很有用。

2009-10-15

verilog PPT 教材

本人上课的课件,欢迎批评指教,综合了其他教案的好的地方

2008-10-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除