C++多字节字符

C++多字节字符

示例

我们直接看以下代码

#include<iostream>

int main() {
	using type = decltype('中');//int
	using type = decltype('AB');//int
    char c = '6666';
	std::cout << '中' << std::endl;//14989485
	std::cout << 'AB' << std::endl;//16706
}

很多老师,很多书,喜欢出诸如此类的一些牛马题目,尤其还喜欢问你们,它的值是什么,比如上面这个c的值,愚蠢,天大的愚蠢

解释

我们先说从char类型说起:

char - 能在目标系统上最有效地处理的字符表示的类型(拥有与 signed char 或 unsigned char 之一相同的表示和对齐,但始终是独立的类型)。多字节字符串用此类型表示编码单元。对于每个范围 [0, 255] 中的 unsigned char 类型值,将该值转换成 char 再转换回 unsigned char 产生原值。 (C++11 起) char 的符号性取决于编译器和目标平台:ARM 和 PowerPC 的默认设置通常没有符号,而 x86 与 x64 的默认设置通常有符号。


再谈字面量:

通常多字符字面量(条件性支持),例如 ‘AB’,具有 int 类型和实现定义的值。

文档链接

char类型

多字符字面量

多字节字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值