同样,char16_t
是无符号的还是有符号的?这是实现定义的吗?
从标准(C++11之前的草案n3290或C++11之后的草案n3337)§3.9.1 基本类型:
char16_t
和char32_t
是不同的类型,具有与<stdint.h>
中的uint_least16_t
和uint_least32_t
相同的大小、符号和对齐方式,它们被称为底层类型。
uint_least16_t
和 uint_least32_t
都是无符号的(来自§18.4.1 头文件 <cstdint>
的概述),所以 char16_t
和 char32_t
也是如此。