C++基本知识
xlscut
这个作者很懒,什么都没留下…
展开
-
内联函数
<br />1、预处理器的缺陷<br /> 宏定义是完全的替换,所以表达式在宏内展开,它们的优先级不同于所期望的优先级,<br /> 所以在使用宏是,要把所有运算都显示的用()括起来。<br /> 在C++中宏的概念是作为内联函数实现的,但内联函数却是真正的函数,内联函数能像普通的函数一样具有所期望的任何行为,唯一不同的是内联函数在适当的地方像宏一样展开,因此应该永远不使用宏,只使用内联函数。<br /> <br />2、内联函数<br /> 1) 任何在类中定义的函数自动成为内联函数,原创 2011-04-07 20:15:00 · 378 阅读 · 0 评论 -
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 · 673 阅读 · 0 评论 -
指向成员的指针
<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 · 345 阅读 · 0 评论 -
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 · 260 阅读 · 0 评论