很长时间没有更新了,不是没有看书,而是实在看得有点晕了··
第一章的结尾讲的是class(类)的应用,由于网站没有打开,所以就放弃了。还好第二章介绍的是类的编写,这样可以更好的掌握类的本质了。
第二章的标题是“变量及基本的数据类型”,因此介绍了非常基本的数据结构和变量命名使用的知识。不过,由于英文跟中文还是有一点差异的,看起来有点吃力,也很枯燥。为了梳理一下脉络,还是在这里把各个知识点都整理一下吧。
1. 内建数据类型
以前稍微接触过这方面的知识,书中也比较详细的介绍了这方面的内容。
内建数据类型主要是整数型,它又分为signed和unsigned类型,并且每种类型又可以分为如下几种ArithmeticTypes(算数类型):
C++ArithmeticTypes | ||||
Type | Meaning | MinimunSize | ||
bool | boolean | NA | ||
char | charater | 8bits | ||
wchar_t | widecharater | 16bits | ||
short | shortinterger | 16bits | ||
int | interger | 16bits | ||
long | longinterger | 32bits | ||
float | single-precisionfloating-point | 6significantdigits | ||
double | double-precisionfloating-point | 10significantdigits | ||
longdouble | extended-precisionfloating-point | 10significantdigits | ||
表中可以清楚的看到每种算数类型的最小单位,这对以后定义常量或者变量类型又很大的帮助。
2. 字面常量(又叫文字常量或字符常量)
顾名思义,字面常量就是字面+常量。(原文中就是这么解释的)每个字符都有它相关联的类型,例如,0是int型,3.14159是double型。字符的存在只是针对于built-intypes(内建数据类型)。没有常量是class type(类类型),当然也没有常量是library type(库类型)的。
—————————————————————————————————————————————————
下面,我们来看下常量的表达方式。
1. Integer Literals
首先我们来表示一个值20。当然,我们有很多种方式来表示,十进制、八进制或者16进制,如下
20 //decimal(十进制)
024 //octal(八进制)
0x14 //hexadecimal(16进制)
在C++中,我们把带有“0”前缀的常量认作是八进制的常量,“0x”或者“0X”前缀的认作16进制。默认情况下,这些字符常量可以是int,也可以是long,主要取决于定义的类型是否适合字符的长度。
同样,通过给字符常量加上后缀,我们也可以特别定义这个常量的类型,如signed、unsigned或者是long。
128u 1024UL
1L 8Lu
通常情况下,我们使用大写的“L”来定义long,主要是为了防止“l”和“1”混淆。后缀与被定义的字符之间不能有空格,另外,没有字符类型是short型的。
2.Floating-Point Literals
我们可以使用十进制或者科学技术的方式来书写浮点型字符常量。如果是使用科学计数法,那么指数(幂)是在“E”或者“e”后面特别标明的。默认情况下,浮点型字符常量是double型,如果要表示单精度的浮点型常量,我们要在数值后面标明“F”或者“f”。同样的,我们特别通过添加后缀“L”或者“l”(“l”不鼓励使用)来声明extendedprecision(扩展精度)类型。如下举例,每一列的值其实是一样的:
3.14159F .001f 12.345l 0.
3.14159E0f 1E-3F 12345E1L 0e0
—————————————————————————————————————————————————
下一篇,我们继续解读字符型以及字符串等的知识。