Question

Similarly, is a naked char16_t signed or unsigned? Is it implementation defined?

Was it helpful?

Solution

From the standard (pre-C++11 draft n3290, or post-C++11 draft n3337) §3.9.1 Fundamental types:

Types char16_t and char32_t denote distinct types with the same size, signedness, and alignment as uint_least16_t and uint_least32_t, respectively, in <stdint.h>, called the underlying types.

uint_least16_t and uint_least32_t are both unsigned (from §18.4.1 Header <cstdint> synopsis), so same for char16_t and char32_t.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top