c++ Primer 第二章

1.C++11新定义

 数据类型 long long 最小尺寸64位;

花括号可以用于初始化变量——int units_sold={0};

右值引用问题;

空指针用字面值nullptr初始化——int *p1=nullptr,且尽量避免null;

using SI=Sales_item; 等同于 typedef Sales_item SI;

2.如何选择类型:

当明确知晓数值不可能为负时,选用无符号类型。

使用int作整数运算,如果数值超过int范围,选用long long;

在算数表达式中不要使用char或bool;

执行浮点数运算选用double;

3.字符和字符串字面值:

单引号括起来的一个字符称为char型字面值——‘a’;

双引号括起来的零个或多个字符构成字符串型字面值——“Hello world”;

注意编译器会在每个字符串的结尾处添加一个空字符(’\0‘)

4.初始化默认值:

定义在任何函数体外的变量会被初始化为0;

定义在函数体内部的变量不会被初始化;

类的对象未被初始化,则初值由类决定;

5.变量声明和定义的关系:

如果想声明一个变量而非定义它,就在变量名前添加关键字extern,而且不要显示初始化

extern int i;//声明而非定义

ertern double pi=3.1416;//定义而非声明

6.变量命名规范:

标识符要能体现实际含义;

变量名一般用小写字母,如index;

自定义类名一般以大写字母开头,如Sales_item;

如果标识符由多个单词组成,则单词间应有明显区分,如student_loan;

7.引用与指针:

引用即别名,相当于已存在的对象所起的另外一个名字,且只能绑定在对象上,并需要立刻初始化;

指针本身就是一个对象,可以在其生命周期内先后指向不同的对象,且不需要定义时就付初值;

8.指针:

遇到复杂指针或引用时,使用从右至左的方式阅读。

9.const限定符:

(1)默认状态下,const对象仅在文件内有效,若想在多个文件下使用同一const变量,需要在声明和定义时都添加extern关键   字;

(2)const的引用:对常量的引用不可以被用作修改它的途径,即不能用一个普通非常量引用一个常量,这样会提供一种                     修改它的非法途径;

         通常引用的类型需与所引用对象类型一致,有两种特例

(3)指针和const:通常指针的类型需与所指对象类型一致,有两种特例;

         常量指针必须初始化而指针指向一个常量不需要,常量指针 int *const curErr=&i;必须初始化因为指针不可以再指向                       别的地方,指针指向一个常量 const int*p,只是指针指向的是一个常量,她还可以指向别的地方,所以不用必须初                       始化;

(4)顶层与底层const:(针对指针而言)顶层指指针本身是个常量,底层指指针所指向的对象是一个常量

const  int *const p3=p2;

底               顶

顶层可以表示任意的对象是常量,对任何数据类型都适用;

底层const则是对指针与引用有关。普通数据类型都是顶层,引用只有底层,而指针底层顶层都有。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值