《《C++ primer plus》读书笔记》读书笔记(一一)
第一章第一章
1、预处理器——#include<iostream>将iostream文件内容添加到程序中。老式C头文件保留了扩展名.h,而C++头文件没有扩
展名。
(有些C头文件被转换为C++头文件,去掉扩展名,并在前面加c,如cmath)
2、名称空间——相当于Java中的package,using编译指令相当于Java中的import。头文件没有.h前缀时,类、函数和变量是
C++编译器的标准组件,被放置在名称空间std中。
3、类的本质——类是用户定义的一种数据类型。类定义描述的是数据格式及其用法,而对象则是根据数据格式规范创建的实
体。
4、main()——main()的返回值(退出值)是返回给操作系统。通常退出值为0意味着程序运行成功。
第二章第二章
5、OOP——面向对象编程的本质是设计并扩展自己的数据类型,让类型和数据匹配。
6、标识符——以一个下划线开头的名称被保留给实现,作全局标识符;以两个下划线或下划线加大写字母的名称被保留给实
现(编译器及其使用的资源)使用。
(C++对名称长度没有限制)
7、整型——short至少16位;int至少和short一样;long至少32位,且至少和int一样长;long long至少64位,且至少和long一
样长。
8、字节——字节通常指8位的内存单元,而C++中的字节依赖于实现。
9、运算符——运算符是内置的语言元素。sizeof运算符返回类型或变量的长度(字节)。所以,不同系统中sizeof( int )的返回值
可能不同。
10、头文件climits——定义了各种表示类型限制的符号常量。如:#define INT_MAX 32767。(被设计为C可用的头文件,符
号常量必须用#define编译指令定义)
11、变量初始化——
函数内部定义的变量,应该在定义的时候进行初始化,否则它的值是不确定的,为被创建前相应的内存单元保存的值。
(1)、int a = 1; // 传统的C初始化
(2)、int b(2); // C++的新方式
(3)、int c = {3} 或 int c{3} // C++的大括号初始化器用于任何类型(大括号内不包含任何东西时,变量的初始化为
0)
12、int——计算机处理起来效率最高的长度。除非使用后缀或值太大,C++通常将整形常量存储为int类型。
13、wcha_t——是整形类型,有足够的空间表示系统使用的最大扩展字符集。使用 iostream 中的 wcin 和 wcout 处理wcha_t
流。
可以通过前缀L来指示宽字符常量和宽字符串,如 wcha_t a = L’p’; wcout << L”tall” << endl;
(C++11新增类型 char16_t 和 char32_t ,都是无符号的,分别长16位和32位,使用前缀 u 表示前者,前缀 U 表示后者)
14、bool——C++将0解释为 false ,将非零解释为 true 。
15、const——创建常量时最好马上赋值,如cont int a = 5;常量通常将首字母大写。
16、浮点——float至少32位;double至少48位,且不少于float;long double 至少和double一样多。这三种类型的指数范围至
少是-37-37。
(1)、cout.setf()可以控制输出格式,迫使cout使用定点表示法。因为cout通常会删除浮点后面的0,如3.3300000显示
为3.33。
(2)、浮点常量通常为double类型,通常用后缀f或F指定float类型,用后缀l或L指定long double类型。
17、强制类型转换——
如:(long) thorn 或 long(thorn)