C++ Primer Plus第三章摘要
第三章 处理数据
1.oop的本质是设计并扩展自己的数据类型。C++内置的类型是创建自己类型的基本组件。
2.以两个下划线或下划线和大写字母打头的名称被保留给实现(编译器及其使用的资源)使用。以一个下划线开头的名称被保留给实现,用作全局标识符。
3.short至少16位(2字节)
int至少与short一样长(4字节)
long至少32位,且至少与int一样长(4字节)
long long至少64位,且至少与long一样长 (8字节)
4.sizeof返回类型或变量的长度,单位为字节
头文件climits中包含了关于整型限制的信息
INT_MAX为int的最大取值(2的32次方),CHAR_BIT为字节的位数(8)。
5.预处理器查找独立的标记,会跳过嵌入的单词。
6.可以用表达式来初始化变量的前提是程序执行到该声明时表达式中所有的值都是已知的。
在声明变量时初始化可以避免以后忘记给它赋值的情况发生。
大括号初始化器用于数组和结构的情况比较多,大括号不含任何东西时,变量被初始化为零。
C++11使得大括号初始化器用于任何类型。(可以使用等号,也可以不使用)
2020年7月8日
7.仅当数值不会为负时才会使用无符号类型(人口,粒数等)只要用关键词unsigned来修饰即可。
Unsigned 本身也是 unsigned int 的缩写
- 自然长度(int)是☞计算机处理起来效率最高的长度。
9.假设要将程序从int 为16位的系统移到int 为32位的系统,则用于储存int数组的内存量将加倍,但short不受影响,仅当有大型整型数组时使用short.
10.C++使用前一(两)位来标识数字常量的基数
如果第一位位1~9,则基数为10
如果第一位为0,第二位是1~7,则基数为8
如果前两位为0x或0X,则基数为16
11.在默认情况下,cout以十进制显示整数。
无论是何种进制的数,都将以二进制的方式存储在计算机中。
12.头文件iostream还提供了控制符dec\hex\oct(10\16\8)
cout<<hex;/cout<<dec;/cout<<oct;
以修改cout的输出格式
13.除非有理由储存为其他类型,C++将整型常量存储为int类型。
14.十六进制常用来表示内存地址,而内存地址是没有符号的,unsigned int 比 long更适合用来表示16位的地址。
15.char类型的整个输出过程:输入时,cin将M转换为77,输出时cout将77转换为M。
16.字符用单括号括起,这种表示法代表的是字符的数值编码。
17.转义序列\"使得双引号变为常规字符而不是字符串分隔符。使得字符串中可以含双引号元素。
18.const type name=value 要优于#define
能够明确的指明类型
可以使用C++的作用域规则将定义限制在特定的函数或文件中
可以用于更复杂的类型
19.浮点数的表示:基准值以及缩放因子。
20.通常float为32位,double为64位。
Long double为80、96、128位
21.系统默认将浮点数存储位double 类型,如果希望存储位其他类型,需要自己添加后缀FL
22.cout.setf(ios_base::fixed,ios_base::floatfield);//fixed-point
23.对于flaot,C++只保证6位有效位。
故会出现输出与实际不相符的情况,四舍五入到六位却没有毛病
24.即使在感情上还没有适应英国的质量单位,但在技术上也做好了去英国旅游时解决质量单位转换问题的准备。
25.表初始化不允许赋值变量。