1、C++中数据类型:
- short 16位 短整型
- int 16位 整形
- long 32位 长整型
- long long 64位 长整型
- 无符号类型:仅能表示大于0的数值
- 带符号类型:可以表示整数、负数或0
- bool:true、false
- char:字符,8位
C++规定:一个int至少要和short一样大,一个long至少要和一个int一样大,一个long long至少要和一个long一样大,其中long long实在11版本中新定义的;
2、和C一样,C++的设计准则之一也是尽可能地接近硬件。C++的算术类型必须满足各种硬件特质,所以它们常常显得繁杂而令人不知所措。事实上,大多数程序员能够(也应该)对数据类型的使用作出限定从而简化选择的过程。一下是数据类型选择的一些经验准则:
- 当明确知晓数值不可能为负数时,选用无符号类型(unsigned);
- 使用int执行证书运算。在实际应用中,short常常显得太小而long一般和int有一样的长度。如果你的数值超过了int的表示范围,选用long long;
- 在算术表达式中不要使用char或者bool,只有在放字符或布尔值时才使用它们。因为 char在一些机器上是有符号的,在另一些机器上又是没有符号的,所以使用char做运算特别容易出问题。如果你需要使用一个不大的整数,那么明确指定它的类型是signed char或unsigned char。
- 执行浮点数运算选用double,这是因为float通常精度不够,而且双精度和单精度浮点数计算代价相差不大。事实上对于某些机器来说,双精度运算甚至比单精度还快。long double提供的精度一般情况下是没有必要的,带来的运行时消耗也不容忽视。
3、typedef声明:
可以使用typedef为一个已有的类型取一个新的名字,即定义一个新的类型:
typedef int newint;
newint a=2;
cout<<a<<endl; //该声明是合法的,打印结果为2
4、枚举类型(enumeration)
枚举类型是C+=中的一种派生数据类型,是有用户定义的若干枚举常量的集合,了解枚举类型可以让我们更好的去学习数据结构。
如果一个变量只有几种可能的值,可以定义为枚举类型,所谓的“枚举”就是讲变量的值一一列举,且变量的值只能在枚举的范围之内。
创建枚举类,需要使用关键字enum,其形式如下:
enum 枚举名 { 标识符【=整型常数】, //【】中的内容为可选输入 标识符【=整型常数】, ... 标识符【=整型常数】 }枚举变量;
如果枚举没有初始化,即整型常数不写,从第一个标识符开始枚举;
例如:
enum color { red, green=5, blue }c; c=blue; //输出结果为5
在默认情况下,即枚举没有被初始化,第一个值为0,第二个为1,依次类推;但也可以给名称赋给一个特殊的值,如上green=4,那么blue就等于5了,因为默认情况下,每个名称都会比前一个名称的值大1。