Recently we were discussing if the following snippet is guaranteed to compiles on all conforming platforms.
int main() {
// wikipedia's example from https://en.wikipedia.org/wiki/UTF-8
constexpr const char euro[] = u8"\u20ac";
static_assert(
sizeof euro == 4
&& euro[0] == static_cast<const char>(0b11100010)
&& euro[1] == static_cast<const char>(0b10000010)
&& euro[2] == static_cast<const char>(0b10101100),
"Not utf-8.");
}
Looking at 2.3 (Basic charset) and 2.14.5 (String literals) we _think_
so, but are not sure.
Can you elaborate what makes you unsure?
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 376 |
Nodes: | 16 (2 / 14) |
Uptime: | 61:52:24 |
Calls: | 8,042 |
Calls today: | 1 |
Files: | 13,040 |
Messages: | 5,832,606 |