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

2.1基本内置类型

    1.算数类型分为两类:整型(包括字符和布尔类型)和浮点型。

    2.不同类型有不同的尺寸:

       bool           8位

       char           16 

       short          16

        int             16

        long          32

        longlong   64(c++11)

        float           6位有效数字

        double       10位有效数字

    3.一般来说,float和double分别有7和16个有效位。

    4.类型前加unsighed可以得到无符号型。(算数表达试中不要用char或者bool,char有时候是有符号的有时候没有)

    5.注意负数与无符号类型的转换!

    6.字面值常量:

        整型:42;     字符字面值:’a‘;       字符串字面值“hello word!”。

    7.转移序列:如换行符:  \n

2.2变量

    1.初始化不是赋值。

    2.默认初始化。

        如果定义在函数体内的内置类型的变量没有初始化,则其值未定义。

    3.声明与定义。

        声明:使得名字为程序所知。想声明而非定义,添加关键字extern。 extern int i; 声明i;

        定义:负责创建与名字有关的实体。 int i; 声明并定义i;

    4.自定义标识符不能连续出现两个下划线,也不能下划线紧跟大写字母开头。函数体外的标识符不能以下划线开头。

2.3符合类型

    1.引用是对象的另一个名字,不能定义引用的引用。引用只能绑定在对象上,不能绑定字面值常量和计算结果。

    2.空指针

int * p1 = nullptr;   //c++11
int * p2 = 0;
int * p3 = NULL;

2.4const

    1.const对象必须初始化。(运行时或者编译时)

    2.const只在当前文件有效。想要多个文件共享const对象,要在定义前加extern关键字。

    3.把引用绑定在const对象上,叫做对常量的引用.(常量引用的对象可以是非常量)

const int ci = 100;
const int &r1 = ci;
int i = 20;
int & r1 = i;
const int & r2 = i; //(常量引用的对象可以是非常量)
r1 = 0; //正确
r2 = 0; //错误:r2是一个常量引用

    4.指向常量的指针不能改变其所指对象的值。存放常量对象的地址只能用指向常量的指针(指向常量的指针可以指向非常量)

    5.常量指针必须初始化。把*放在const之前说明指针是一个常量。(即指针指的地址不能改变) 

int * const p = π

const double pi = 3.14;
const double *const pip = & pi;//第一个const说明指针指向常量。第二个const说明指针是一个常量。

    6.顶层const:指针本身是个常量。(上例中的第二个)

       底层const:指针所指的对象是个常量。(上例中的第一个)

    7.常量表达式:值不会改变并在编译阶段就能得到结果的表达式。

    8.将变量声明为constexpr类型以便由编译器来验证变量的值是否是一个常量表达式。(c++11)

2.5处理类型

    1.类型别名。

typedef doubles wages;//传统方法
using SI = Sales_item;//(c++ 11)

    2.decltype: 选择并返回操作数的操作类型。

2.6预处理器

#ifndef SALES
#define SALES
..
#endif













  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值