今天在看《你必须知道的495个C语言问题》时,被其中的一个问题搞晕了,就是第一个问题:我该如何决定使用哪种整数类型?文章的回答中说:尽管字符类型可以当成“小”整数使用,但这样做有时很麻烦,不值得。编译器需要生成额外的代码来进行char型和int型之间的转换。好像在说永远不要使用unsigned char类型一样。
看了《C++ Primer》的建议明白了:是在算术表达式中,不要使用char或者bool,只有在存放字符或布尔值时才使用它们。如果需要使用一个不大的整数,那么明确指定它的类型是signed char 或者 unsigned char 。