【发布时间】:2015-10-22 22:41:53
【问题描述】:
当我尝试std::cout << ', '; 时,我得到了11296,我知道我应该用", " 括起来,但为什么我得到了这个号码?
【问题讨论】:
-
那些不是“括号”。
当我尝试std::cout << ', '; 时,我得到了11296,我知道我应该用", " 括起来,但为什么我得到了这个号码?
【问题讨论】:
单引号中有两个字符(逗号和空格)。
这种多字符文字的值取决于您的编译器等。
在这种情况下,ASCII 值是 44 和 32,并且
11296 = 44 * 256 + 32
即。两个字节一起理解为 16 位整数
【讨论】:
根据标准(N4296, 2.13.3 Character literals,强调我的):
一个 包含多个 c-char 的普通字符文字是多字符文字。 多字符 文字,或包含单个 c-char 的普通字符文字,不能在执行字符中表示 set,有条件支持,具有 int 类型,并具有实现定义的值。
“有条件支持”是 (1.3.5)
实现不需要支持的程序结构
【讨论】: