Mae*_*tro 1 c++ char unsigned-char
甲char数据类型是不能保证签名,它是该装置上一些实施方式中signed,和对他人它是unsigned。那么为什么人们总是忽略signed限定词呢?
char c = 'C'; // can be signed or unsigned
signed char sc = 'D'; // explicitly signed
unsigned char uc = 'e'; // explicitly unsigned
Run Code Online (Sandbox Code Playgroud)
对于可移植性,我就应该总是限定一个char带有signed如果我想的字符保持负值?
正如我所了解的其他类型,如int, long,short总是signed除非明确限定为unsigned。
该类型char主要用于存储字符(或者,在 Unicode 时代,部分字符代码)。从这个意义上说,你不应该关心它是否有符号,只要它能够表示字符。
当您需要char大小的整数时,您应该使用signed charorunsigned char或它们的典型别名之一(例如int8_t或uint8_t)。这将确保签名并将类型与字符区分开来。