C++primer知识要点总结_2

【1】关于算术类型

  • 一字=4字节;一字节=8比特。
  • char以一个字节表示,float以一个字表示,double是两个字
  • 无符号整型只能表示大于等于零的值,当我们赋给无符号类型一个超出它表示范围的值时,结果是初始值对无符号类型表示数值总数取模后的余数。(比如把-1赋值给8比特大小的usigned char 所得的结果是255)

【2】关于变量

  • 变量提供一个具名的,可供程序操作的存储空间。和对象类似,变量和对象都可进行列表初始化。
int num=0;
int num={0};
int num{0};
int num(0);

【3】关于声明和定义

  • 便于分析,可将程序分成多个逻辑部分来编写。C++支持分离式编译,将声明和定义区分开来。一个文件如果想使用别处定义的名字就必须包含对那个名字的声明。定义负责创建与名字关联的实体。
  • 声明规定了变量的类型和名字,定义还申请存储空间,也可能为变量赋一个初始值。如果想声明一个变量而非定义它,就在变量前添加关键字extern。但是不要显式地初始化变量。(对其赋值)
  • 变量只能定义一次,但是可以多次声明。

【4】关于引用

  • 引用是给对象起了另外一个名字,跟初始化变量采用拷贝的方法不同,程序将引用和它的初始值绑定在一起。定义了一个引用之后,对其进行的所有操作都是在与之绑定的对象上进行的。
  • 因为引用本身不是一个对象,所以不能定义引用的引用。

【5】关于指针

  • 指针本身就是有个对象,允许对指针赋值和拷贝;而且指针生命周期内它可以先后指向几个不同的对象。
  • 指针无需在定义时赋值,定义的 指针如果没有初始化,将拥有一个不确定的值。
  • 需要注意的是int *p1,p2;这里p1是指向int的指针,而p2还是int的整型。

【6】关于const的使用

  • 默认状态下,const对象仅仅在文件内有效。
  • 有时候为了能在文件间共享,我们想让这类const对象像其它(非常量)对象一样工作,也就是说,只在一个文件中定义const。而在其他多个文件中声明并使用它。解决办法就是在不论在声明还是定义,在前面加上extern关键字就可以了。
  • 对常量的引用(把引用绑定到const对象上),此时对常量的引用不能被用作修改它绑定的对象。
const int a=1024;
const int &b=ci;
b=256;    //错误,b是对常量的引用
int &r2=a;//错误,不能让一个非常量引用指向一个常量对象
  • 对const的引用可能引用一个非const的对象
int i=42;
int &r1=i;
const int &r2=i;
r1=0;  //r1非常量,i的值被修改
r2=0;  //错误,r2是一个常量的引用
  • 指针的类型必须与其所指对象一致。但是允许一个指向常量的指针指向一个非常量的对象。
  • 把*放在const关键字之前用以说明指针是一个常量,而且常量指针是必须初始化的。
  • 顶层(top-level const)表示对象(指针也是一个对象)本身是个常量,底层(low-level const)表示指针所指的对象是一个常量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值