上一篇
1000 0000
~ 0111 1111
) 0000 0000
~ 1111 1111
) /J
选项改为无符号)\u0000
~ \uFFFF
(0 ~ 65535) Character
类提供isLetter()
、isDigit()
等静态方法支持字符操作编译器 | 默认符号性 | 特殊选项 |
---|---|---|
GCC | 有符号 | -funsigned-char 改无符号 |
MSVC | 有符号 | /J 改无符号 |
Clang | 依赖平台 | 需显式指定signed/unsigned |
char c = 128; // 有符号char溢出,行为未定义 unsigned char uc = 256; // 无符号char截断为0
char a = -1; int b = a + 1; // 符号扩展为-1的32位补码,结果为0
char16_t
/char32_t
(C++11引入) wchar_t
配合wprintf
处理宽字符char *str = "Hello"; str[0] = 'h'; // ❌ 修改只读内存,导致崩溃
String str = "Hello"; str = str.replace('H', 'h'); // ✅ 创建新对象,安全修改
char8_t
(C++20)优化UTF-8处理,减少编码转换开销jep-444
实现字符串存储优化,拉丁字符使用1字节编码 String
类新增isAscii()
等方法提升字符处理效率char
wchar_t
(C++)或String
(Java) signed/unsigned
<climits>
中的CHAR_MIN/CHAR_MAX
宏获取实际范围 📌 信息来源:Oracle JDK21文档、GCC 15.2发布说明、MSVC编译器手册(2025-08更新版)
本文由 业务大全 于2025-08-21发表在【云服务器提供商】,文中图片由(业务大全)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vds.7tqx.com/wenda/681234.html
发表评论