在 C++ 中,数据类型的大小(占用的字节数)是由编译器和操作系统决定的,不同的编译器和操作系统可能会有不同的规定。下面是 Visual Studio 2019 中常见的数据类型及其大小(以 64 位操作系统为例):
-
整数类型:
- char: 1 字节
- short: 2 字节
- int: 4 字节
- long: 4 字节
- long long: 8 字节
-
浮点类型:
- float: 4 字节
- double: 8 字节
- long double: 16 字节
-
字符类型:
- char: 1 字节
-
布尔类型:
- bool: 1 字节
-
空类型:
- void: 无大小
-
指针类型:
- 指针的大小和操作系统有关,通常是 8 字节。
-
引用类型:
- 引用本身不占用空间,它是一个别名。
-
枚举类型:
- 枚举类型的大小与它的值的位数有关。
-
结构体类型和共用体类型:
- 结构体和共用体的大小取决于它们包含的成员变量的大小。
-
类型定义类型:
- 类型定义不影响原始类型的大小。
需要注意的是,以上数据类型的大小只是一种常见的情况,实际情况可能会因编译器、操作系统、编译选项等因素而有所不同。在编写代码时,应尽量避免依赖于数据类型的大小,而是使用 sizeof 运算符来动态获取数据类型的大小。