-
面向对象编程OOP的本质是设计并扩展自己的数据类型,让类型与数据匹配。
-
C++的数据类型分为两种:基本类型和复合类型。
-
C++的命名规则:
- 名称中只能使用字母,数字和下划线
- 名称的第一个字符不能是数字
- 区分大小写
- 不能用关键字作为名称
- 以一个下划线,两个下划线或者下划线和大写字母打头的名称被保留给其他资源使用。
- C++对于名称的长度没有限制
-
如果用两个单词或两个以上的单词命名,建议以下划线隔开或者从第二个单词开始将每个单词的第一个大写字母大写。
-
整数就是没有小数部分的数字。
-
C++的基本整型有
char
,short
,int
,long
,longlong
,每种类型都有符号版本和无符号版本两种,因此总共有10种类型可供选择。- Short至少为16位
- Int至少和short一样长。具体长度看具体实现。
- Long至少32位,且至少和int一样长
- Longlong至少64位,且至少与long一样长。
- 此处注意一点,由于具体的位数事实上还是要看实现的,因此对于同一个数,如果节省内存很重要的情况下,则应使用short而不是int,即使它们的长度是一样的。假设要将程序从int为16位的系统移到int为32位的系统,则用于存储的内存量将加倍,而short不受影响。
-
计算机内存的基本单位是位bit。
-
Sizeof()
运算符返回类型或变量的长度,为字节。 -
头文件
climirs
包含了整型限制的信息,它定义了各种符号的名称。例如,INT_MAX
为int的最大取值,CHAR_BIT为字节的位数。 -
Sizeof()
运算符对类型名(如int)使用时,应将名称放在括号中;但对变量名使用该运算符,括号是可选的。 -
#define INT_MAX 32767
在程序中查找INT_MAX
,并将所有的INT_MAX
都替换为这种工作方式与文本编辑器或处理器中的全局搜索并替换命令类似。 -
初始化的语法:
1. int a=101; 2. int a(101); 3. int a={101};
-
如果是
int a={ }
,在这种情况下将被初始化为0; -
这些整型还有一个不能存储负数的无符号变体,其优点是可以增大变量能够存储的最大值。
-
C++能够以三种不同的计数方式来书写整数:
- 如果第一位为1-9,则为10进制;
- 如果第一位为0,则为8进制;
- 如果第一位为0x或0X,则基数为16;
-
此外,cout还提供了控制符
dec
,oct
,hex
来指示以十进制,八进制,十六进制输出。Cout<<hex<<a<<oct<<b<<dec<<c<<endl
;由于这三个标识符在命名空间std中,因此不能将它们用作变量。 -
C++默认以int方式存储整型变量。
-
整数后面的L表示该数字为long变量,U后缀表示
unsigned int
变量,ul表示unsigned long
常量。 -
Char实际上也是一种整型,虽然char最常被用来处理字符,但也可以将它用作比short更小的整型。与int不同的是,char在默认情况下既不是没有符号,也不是有符号。具体是否有符号由C++实现决定。
Unsigned char
类型的表示范围通常为0-255,而signed char
表示的范围是-128-127。 -
例如:ch = 77,cout<<ch;输出的是M。77被存储在变量ch中,但是输出的时候却变成了字符M。这种神奇的力量不是来自于char,而是来自于cin和cout这些工具完成了转换工作。输入时,cin将键盘输入的M转换为77,输出时,cout将77转换为显示的字母M。
-
C++对单个字符使用单引号,对字符串使用双引号。Cout,put函数用来显示一个字符。
-
成员函数归类所有,描述了操纵类数据的方法。句点被称为成员运算符。
-
Cout<<endl
;cout<<’\n’
;cout<<”\n”
; 均可以将光标移动到下一行开头;\a 可以使终端扬声器振铃,\n 是回车,\b是退格,但是只能在同一行中退格。 -
C++新增的类型:
char16_t
和char32_t
。二者都是无符号的,前缀u表示char16_t
字符常量和字符串常量,前缀U表示char32_t
常量。 -
Bool类型有两个值:
true
&false
。C++将一切非零值解释为true
,相反,将0解释为false
。 -
Const限定符:被修饰后成为只读变量。常量被初始化后,其值就被固定了,编译器将不允许再修改该变量的值。
Const
比#define
较好。首先,它指明了类型,可以使用C++的作用于规则讲定义限制在特定的函数或者文件中,第三,可以将const
用于更复杂的类型。 -
浮点类型:计算机将这样的值分为两部分存储,一部分表示值,另一部分用于对值进行放大或缩小。比如1245这个数,第一部分基准值为0.341245,另一部分缩放因子为100。方法大抵如此,只是C++内部是基于二进制进行的缩放。
-
C++有两种书写浮点数的方式。第一种是使用常用的标准小数点表示法;第二种是E表示法。其外观是这样的,45E6表示的是将3.45与1000000相乘,E6指的是10的6次方。E表示法最适合非常大的和非常小的数。
-
C++提供3种浮点类型:
float
,double
,long double
。Float
至少为32位,double
至少为48位,且不少于float
,long double
至少和double
一样多。这三种类型的有效位数可以一样多。默认情况下,系统将浮点数保存为double
类型。对于float,C++只保证6位有效位。 -
使用相同的符号进行多种操作叫做运算符重载。
-
将浮点型转换为整型,C++采取截取而不是四舍五入。
-
C++11 将使用大括号的初始化称为列表初始化,这种初始化常用于给复杂的数据类型提供值列表。
-
C++允许通过强制类型转换机制显式的进行类型转换。
(typename)value
或者typename(value)
-
C++新增了 auto 工具,让编译器能够根据初始值的类型推断变量的类型。Auto是一个语言关键字,在初始化声明中,如果使用关键字auto,而不指定变量的类型,编译器将把变量的类型设置成和初始值相同。
-
C++的基本类型分为两组:一组由存储为整数的值组成,另一组由存储为浮点格式的值组成。
-
整数从小到大依次是:
bool
,char
,signed char
,unsigned char
,short
,unsigned short
,int
,unsigned int
,long, unsigned long
,long long
,unsigned long long
.
【C++ Primer Plus】第三章:处理数据
最新推荐文章于 2023-05-12 12:24:49 发布