c++ std::cout当我用单引号括起字符串时打印奇怪的字符

C++ std::cout printing wierd characters when I enclose a string with single quotations

本文关键字:打印 字符串 字符 cout std 单引号 c++      更新时间:2023-10-16

当我尝试std::cout << ', ';时,我得到了11296,我知道我应该用", "包围它,但为什么我得到了数字?

你有两个字符在单引号(逗号和空格)。
这些多字符字面值的值取决于你的编译器等。

在本例中,ASCII值是44和32,

11296 = 44 * 256 + 32  

ie。两个字节合起来可以理解为16位整数

根据标准(N4296, 2.13.3字符字面量,强调我的):

一个包含一个以上c字符的普通字符字面量是多字符字面量。 multicharacterliteral,或者包含单个在执行字符中不可表示的c字符的普通字符字面量是有条件支持的,类型为int,并且有一个实现定义的值

" Conditionally-supported "是(1.3.5)

实现中不需要支持的

程序结构