今天时间有点紧迫,内容少明天继续
c++语言支持广泛的数据类型。
它定义了几种基础内置类型(整形、字符等),同时也为程序员提供了自定义数据类型的机制。基于此,c++标准库中也定义了几种更为复杂的数据类型(比如字符串和向量等)。
数据类型定义了程序中数据的和操作的意义。
例子:
i = m + n;
例中的计算结果依赖于三个变量的类型。
如果三个变量是整形数,则执行的就是最普通的加法运算。
如果三个变量是字符型,则需要将字符转换为ascii码相加。
基本内置类型包括算术类型和空类型。
算术类型包括字符、整形数、布尔值和浮点数。
空类型不对应具体的值,仅用于一些特殊的场合,比如,函数不返回任何值时使用空类型作为返回值。
算数类型分为两类:整形和浮点型。
算数类型的尺寸在不同的机器上有所差别。
c++标准规定的尺寸的最小值如下(允许编译器赋予这些类型更多的尺寸):
类型 含义 最小尺寸
bool 布尔类型 未定义
char 字符 8位
wchar_t 宽字符 16位
char16_t Unicode字符 16位
char32_t Unicode字符 32位
short 短整形 16位
int 整形 16位
long 长整型 32位
long long 长整型 64位
float 单精度浮点数 6位有效数字
double 双精度浮点数 10位有效数字
long double 扩展精度浮点数 10位有效数字
布尔类型(bool)的取值是真(true)或者假(false)。
c++提供了几种字符类型,其中多数支持国际化。
其中char为基本字符类型,wchar_t、char16_t、char32_t用于拓展字符集。
wchar_t用于确保存放机器最大拓展字符集中的任意一个字符。
char16_t、char32_t则为Unicode字符集服务(Unicode是用于表示所有自然语言中字符的标准)。