gpt4 book ai didi

c++ - 字 rune 字的 U 前缀与字符串文字的区别是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:47:50 25 4
gpt4 key购买 nike

在 The C++ Programming Language C++ 第 4 版第 6.2.6 节中,它说:

Combinations of R, L, and u prefixes are allowed, for example, uR"**(foo\(bar))**". Note the dramatic difference in the meaning of a U prefix for a character (unsigned) and for a string UTF-32 encoding (§7.3.2.2).

不太明白作者想表达什么。究竟什么是“显着差异”?为什么这里使用“(unsigned)”这个词?

根据我的理解,一个U前缀的字符字面量包含了引用字符的ISO-10646代码点值,这与字符串字面量的U前缀基本相同,与概念无关的“无符号”。

最佳答案

unsigned 是一个 C++ 关键字,表示(在大多数情况下)声明中的整数类型只有正值。

引用看这里: http://en.cppreference.com/w/cpp/language/types

现在对于 char 和 char[] 你有:

char16_t c = u'\u00F6';
char32_t d = U'\U0010FFFF';
char16_t C[] = u"Hell\u00F6";
char32_t D[] = U"Hell\U000000F6\U0010FFFF";

进一步引用字符串文字: Unicode encoding for string literals in C++11

所以确实 uU 以及 unsigned 之间存在一些差异,但我认为这并不显着。

关于c++ - 字 rune 字的 U 前缀与字符串文字的区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21452015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com