C++Primer学习:第2章 变量和基本类型

第2章 变量和基本类型
2.1 基本内置类型
2.2 字面值常量
2.3 变量
2.4 const限定符
2.5 引用
2.6 typedef 名字
2.7 枚举
2.8 类类型
2.9 编写自己的头文件

2.1 基本内置类型
2.1.1 字符类型:
 char 和 wchar_t , char通常是1byte;wchr_t用于扩展字符集比如汉字,占用2byte;
 char 有3种不同的类型:普通char、unsigned char、signed char,但只有2中表达方式。
 可以使用unsigned char 或 signed char表示char类型,使用哪种char表示方式有编译器决定。
2.1.2 浮点数
 float类型只能保证6为有效数字;
 double至少10为有效数字;

2.2字面值常量
2.2.1 整型字面值规则
 以0(零)开头的的字面值常量表示八进制,以0x开头表示十六进制;
 通过增加后缀,能强制将字面值整数常量转换为long、unsigned或signed long
  在数值后面加 L 指定为long类型
  128u    /* unsigned */
  1L      /* long */
  1024UL  /* unsigned  long*/
  8Lu     /* unsigned  long*/
 没有short类型的字面值常量

2.2.2 浮点字面值规则
 默认的浮点字面值常量为double型;
 在数值后面加上 F 或 f 表示单精度;
 指数用 E 或 e 表示;

2.2.3 布尔和字符字面值
 'a' char类型,L'a' 表示wchar_t类型;

2.2.4 转义字符
 换行符                  /n
 纵向制表符            /v
 回车符                  /r
 报警符                  /a
 疑问号                  /?
 双引号                  /"
 水平制表符            /t
 退格符                  /b
 进纸符                  /f
 反斜杠                  //
 单引号                  /'

 '/0' 空字符

2.2.5 字符串字面值
 C++中所有的字符串都由编译器自动在末尾添加一个空字符;
 L"wchar_t"  宽字符串;

2.2.6 字符串的连接
 两个相邻的仅由空格、制表符或换行符分开的字符串,可连接成一个新的字符串:
 //concatenated long string literal
 std::cout <<  "a multi-line "
   "string literal "
   "using concatenation"
     << std::endl;
 output:
 a multi-line string literal using concatenation

2.2.7 多行字面值
 在一行末尾加一反斜杠符号可将次行和下一行当做同一行处理;
 注意反斜杠必须是该行的尾字符,不允许其后面有空格或注释

2.3 变量
2.3.1 C++是一门静态类型语言,在编译时会做类型检查;
2.3.2 什么是变量
 变量提供了程序可以操作的有名字的存储区;
2.3.3 定义对象
 1)初始化 :
  int ival(1024);
  int ival = 1024 ;
 2)初始化不是赋值:初始化时创建变量并给它赋初始值;赋值是擦除对象的当前值并用新值代替。
 3)直接初始化语法更灵活且效率更高;
 
2.3.4 定义:用于为变量分配存储空间,还可以为变量制定初始值,在一个程序中,变量有且仅有一个定义;
2.3.5 声明:用于向程序表明变量的类型和名字,定义也是声明;
2.3.6 extern
 1)声明变量而不定义;
 2)如果声明有初始化式,那么它可被当做是定义,如
 extern double pi = 3.14;

2.4 const限定符
2.4.1 定义const常量
 因为常量在定义后不能修改,所以定义是必须初始化。

2.4.2 const对象默认为文件的局部变量
 费const对象默认为extern, 要使const对象能够在其他的文件中访问,必须显式的指定他为extern。

2.5 引用
2.5.1 定义:引用就是对象的另一个名字,在实际程序中,引用主要用作函数的形式参数。
 例:int ival = 1024;
     int &refval = ival;
2.5.2 初始化
 引用必须用于该引用同类型的对象初始化。

2.5.3 const 引用
 const引用指向const对象的引用。
 非const引用只能绑定到与该引用同类型的对象。
 const引用可以绑定到不同但关联的类型的对象或绑定到右值。
2.6 typedef
 typedef可以用来定义类型的同义词。
 typedef通常被用于以下三种目的:
 1.为了隐藏特定类型的实现,强调使用该类型的目的;
 2.简化复杂的类型定义,使其更易理解;
 3.允许一种类型用于多个目的,同时使得每次使用该类型的目的明确。

2.7 类类型
 1.从操作开始设计类。

2.8 头文件
2.8.1 头文件用于声明而不是用于定义。
2.8.2 如果const变量不是为用常量表达是初始化,那么他就不应该在头文件中定义。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值