- 博客(5)
- 收藏
- 关注
原创 sizeof相关
<br />在标准C/C++中数据所占用的内存大小:<br />对于复合类型(一般指数据结构和类),它的起始地址要与“要求最严格”的那个数据对齐,“要求最严格”就是所占空间最大的那个数据类型,一般标准32位机中double和long占据8个字节,int和float占据4个字节,short占据2个字节,bool和char占据1个字节;<br />需要注意:<br />1)enum类型的对象占据4个字节,enum中的没个成员都是一个整型;<br />2)指针占据4个字节,类中如果有虚函数,则会有一个指向虚函数表
2011-04-13 00:14:00
254
原创 指向成员的指针
<br />1、指针是指向一些内存地址的变量,既可以是数据的地址也可以是函数的地址,所以可以运行时改变指针指向的内容,C++中的类之内的成员指针,所有指针都需要地址,但在内内部是没有地址的,选择一个类得成员意味着类中的偏移,只有把这个偏移和具体对象的开始地址结合,才能得到实际地址。<br />class Data { public: int a,b,c; void print()const { cout<<"a= "<<a<<",b="<<b<<",c="<<c<<endl; }
2011-04-09 15:15:00
335
原创 内联函数
<br />1、预处理器的缺陷<br /> 宏定义是完全的替换,所以表达式在宏内展开,它们的优先级不同于所期望的优先级,<br /> 所以在使用宏是,要把所有运算都显示的用()括起来。<br /> 在C++中宏的概念是作为内联函数实现的,但内联函数却是真正的函数,内联函数能像普通的函数一样具有所期望的任何行为,唯一不同的是内联函数在适当的地方像宏一样展开,因此应该永远不使用宏,只使用内联函数。<br /> <br />2、内联函数<br /> 1) 任何在类中定义的函数自动成为内联函数,
2011-04-07 20:15:00
357
原创 stuct、emun、union
<br />struct更像一个class(但不同于class)<br />enum数据类型是把名字和数字连续在一起,enum通过为所给出的任何标识符表赋值为0、1、2等值(当然也可以手动赋值),它的声明与struct相似。<br />union主要是能够节省内存,union把所有数据放进一个单独的空间,计算union中最大项所必须的空间数,并生成union的大小,每当union放置一个值,这个值总是放在union开始的同一个地方,但只使用必须的空间大小。
2011-04-07 18:46:00
658
原创 指针与struct
<br />所有struct都当做对象处理,但也可以取得一个struct的地址,为了选择一个特定的struct对象中的元素,应当使用‘.’,如果有一个指向struct对象的指针,可以使用不同的运算符“->”
2011-04-07 11:08:00
288
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人