C ++中0x和'\ x'之间有什么区别?

时间:2014-02-16 05:31:01

标签: c++

我知道十六进制数通常在C / C ++语言中以0x为前缀。 例如,0x5A表示十进制的90。 但是我看到了一个使用带'\x'的单引号字符的示例代码。

BYTE outputBuffer[index++] = '\x5A'; // instead of 0x5A

'\x5A'的含义是否与0x5A完全相同?

如果是这样,为什么还有十六进制表示法的替代方法?

1 个答案:

答案 0 :(得分:9)

对于一个角色,两者都相当。

但是只有一个可以与其他普通字符混合成一个字符串。 "ABC\x5A"

只有一个可以用来初始化一个大的整数类型:long long x = 0x1234567812345678LL;