参考链接
数据类型说明
我们思考一下,为什么会 出现数据类型。个人理解,首先作为一个好的程序员,就必须在实现特定功能的前提下,要保证较小的时间复杂度和空间复杂度。要做实现上面说的,当然最牛的就是算法。其实算法就是解决问题的一种方法,不过就是这个方法更高效。但要玩算法,最基本就是要合理申请数据空间。
上面知道了为什么,下面我们开始聊实际的。在C++的数据类型包括:字符型、宽字符型、整型、浮点型、双浮点型、布尔型等。
基本数据类型
字符型(char)、宽字符型(wchar_t)、整型(int)、浮点型(float)、双浮点型(int)、布尔型(bool)、宽字符型(wchar_t)。
上面说的是基本的数据类型,其实一些基本类型可以使用一个或多个修饰符进行修饰。修饰符主要有:signed、unsigned、short、long。(修饰符,我们可以理解为对数据类型声明的更加具体)
说完了数据类型,下面我们来说一下它们在计算机内存中所占的空间大小:
但是由于电脑位数和编译器不同,因此可以使用程序自己查看数据类型在电脑上占用的空间大小。
#include<iostream>
using namespace std;
int main()
{
cout << "type: \t\t" << "************size**************"<< endl;
cout << "bool: \t\t" << "所占字节数:" << sizeof(bool);
cout << "\t最大值:" << (numeric_limits<bool>::max)();
cout << "\t\t最小值:" << (numeric_limits<bool>::min)() << endl;
return 0;
}
这里用几个C++函数,其中一个sizeof(变量名)可以得到变量的字节数,(numeric_limits<类型>::max)()得到该类型最大值,(numeric_limits<类型>::min)()得到该类型最小值。
好了,上面已经把数据类型讲完了,下面我们讲一下C++中两个常见的操作typedef类型和枚举类型
typedef类型
typedef其实就是将变量换一个名字,下面上代码:
typedef char chCameraId; //告诉编译器chCameraId代表char类型
chCameraId cam1; //cam1申请了char类型空间大小
typedef的使用方法
typedef 类型 新的名字;
枚举类型
这个其实就是C++的一个派生的数据类型,因为有些变量可能含有多个含义,例如动物,可能是猪、狗、猴子等。所以枚举类型,对数据的可读性非常有帮助。下面说一下它的格式:
enum 枚举名{
标识符[=整型常数],
标识符[=整型常数],
...
标识符[=整型常数]
} 枚举变量;
实例代码如下:
enum animal{ pig, dog, monkey } eAnimalType; //根据枚举特点,pig代表0,dog代表1,monkey代表2
eAnimalType = pig;
如果在进行枚举变量声明的时候,如果不特定说明枚举中数据代表的数值,则是从0开始递增。如果赋值了数值,则从最大值开始递增:
enum animal{ pig = 1, dog = 6, monkey } eAnimalType; //根据枚举特点,pig代表1,dog代表6,monkey代表7
eAnimalType = dog;
更多《计算机视觉与图形学》知识,可关注下方公众号: