使用
的目的/优势/区别是什么?/* C89 compliant way to cast 'char' to 'unsigned char'. */
static inline unsigned char
to_uchar (char ch)
{
return ch;
}
与标准演员相比?
编辑: 在gnulib
中的base64代码中找到答案 0 :(得分:1)
也许编写该函数的程序员不喜欢演员语法......
foo(to_uchar(ch)); /* function call */
foo((unsigned char)ch); /* cast */
但我还是让编译器担心它:)
void foo(unsigned char);
char s[] = "bar";
foo(s[2]); /* compiler implicitly casts the `s[2]` char to unsigned char */
答案 1 :(得分:1)
要:
char
投射到unsigned char
有人可以:
char
转换非常严苛,但对于较大/较小的类型转换可能非常有用)numeric_limits<>
)