Is a naked char32_t signed or unsigned?
c++, c++11, char32-t
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`.
Problem
Similarly, is a naked `char16_t` signed or unsigned? Is it implementation defined?