C++11新标准之一: 新的基本内置类型

  • 概述

C++11的标准发布已经有一段日子了,相比于C++03,C++11标准包含核心语言的新机能,而且扩展C++标准程序库,并入了大部分的C++ Technical Report 1程序库。本系列记录了学习C++11的部分内容,方便日后查阅。

  • 差异

1. C++03中的基本算术类型包括9种,列举如下:

C++算术类型
类型 含义 最小存储空间
bool 布尔值 未定义
char 字符型 8字节
wchar_t 宽字符 16字节
short 短整型 16字节
int 整型 16字节
long 长整型 32字节
float 单精度浮点数 6位数精度
double 双精度浮点数 10位数精度
long double 更高精度的浮点数 10位数精度

2. C++11中的基本算术类型包括12种,C++11的基本类型完全包含上述9种类型,除此之外还包括:

C++11新增的算术类型
类型 含义 最小存储空间
char16_t Unicode 字符 16字节
char32_t Unicode 字符 32字节
long long 超长整型 64字节

C++11标准中的char16_t和char32_t用来处理Unicode字符,

char16_t可以作为UTF-16的一个处理单元,char32_t可以作为UTF-32编码的一个处理单元。

使用过程中需要使用前缀: u和U

char16_t a = '\x30';
wchar_t b = L'\xffef';
char16_t c = u'\u00f6';
char32_t d = U'\U0010FFFF';
很遗憾的是在Visual Studio 2013中并没有提供char16_t和char32_t的支持,二者只是简单的一个类型重定义:(yvals.h头文件中)

typedef unsigned short char16_t;
typedef unsigned int char32_t;



你可能感兴趣的:(C++11)