《c++ primer》第二章--变量和基本类型

来源:互联网 发布:玩minecraft学编程 编辑:程序博客网 时间:2024/06/05 20:34

在c++中定义了一组表示整数、浮点数、单个字符和布尔值的算数类型,另外还定义了一种成为void的特殊类型,void 类型没有对应的值,尽在有限的情况下,通常用作无返回值函数的返回类型。

算数类型的存储空间依机器而定,这里的存储空间指的是用来表示该类型的二进制位数,.。c++标准规定了每个算数类型的最小存储空间,但它并不组织编译器使用更大的存储空间。

让存储具有结构的最基本办法就是用块处理存储,大部分机器都使用特定位数的块来处理存储,通常将8位的块作为一个字节,32位或4个字节作为一个字(word)。



对象的类型决定对象的取值,但是当我们把一个超出其表示范围的值赋值给一个制定类型的对象时,结果会怎么样?

答案是取决于这种类型是signed还是unsigned类型。

对于unsigned类型来说,编译器必须调整越界值使其满足要求,编译器会将该值对unsigned类型的可能取值数目求模,例如:

对于8位的unsigned类型,其取值范围从0-255(包括255),如果试图将那336 存储到一个8位的unsigned char中,其是肌肤之是80,因为80是336对256求模后的值。

对于unsigned来说,负数总是超出其取值范围。如果将-1赋值给一个8位的unsigned char中,其结果就是255,原理同上。





变量:

变量提供了程序可以操作的有名字的存储区。其也被称为是“对象”。

在定义一个对象的时候,通常有两种初始化变量的形式:直接初始化和复制初始化。

int   ival(1024);// direct-initialization

int ival=1024;// copy-initialization



引用:

引用就是对象的另一个名字。

引用是一种复合类型,通常在变量名前添加“&”符号来定义。复合类型市值其他类型定义的类型。下面来看4个例子:

int ival=1024;

int &refVal=ival;

int &fefVal2;  // error :  a  reference  must   be initialized

int &refVal3=10;  //  error   :  initializer  must be an  object



引用只是它所绑定对象的另一个名字,作用在引用上的所有操作事实上都是作用在该引用绑定的对象上。  例如:

refVal=2;

这是讲refVal指向的ival赋值为2.

int  li=refVal;


还有一种引用,const引用————

const引用是指向const对象的引用。

const i=1024,j=2048;

const int&ref=ival;//  OK

  int  &r=i;//  error: nonconst reference  to a const object





0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 腿上的肥胖纹怎么办除 金属眼镜腿歪了怎么办 炸东西油往外溢怎么办 油反复使用起沫怎么办 炸东西的油黑了怎么办 板栗放久了干了怎么办 三四个月的宝宝拉肚子怎么办 四个月的孩子拉肚子怎么办 4个月孩子拉肚子怎么办 三阳的房子很热怎么办 买了缺角的房子怎么办 多肉摇钱树焉了怎么办 虎皮兰叶子烂了怎么办 三角龙骨烂根了怎么办 地板木龙骨会动怎么办 多肉植物开花后怎么办 春峰之辉烂了怎么办 仙人指不开花是怎么办 大门开在破财位怎么办 人走霉运的时候怎么办 pp助手刷机失败怎么办 别人骂我很难听怎么办 被骂了心里不爽怎么办 被别人扎小人了怎么办 人要倒霉的时候怎么办 属虎的请了貔貅怎么办 我的护身符丢了怎么办 地漏被头发堵了怎么办 淋浴房地漏堵了怎么办 冰箱对着卧室门怎么办 冰箱离灶台太近怎么办 风水财位对着门怎么办 一进大门是厕所怎么办 大门和厕所正对怎么办 房子靠马路很吵怎么办 入户门对着楼梯怎么办 买房买了18楼怎么办 加个房间,没窗户怎么办 厨房窗户对着路怎么办 卧室门正对窗户怎么办 在路上车抛锚了怎么办