来自《使用C++进行编程:原理与实践》第72-73页:
我们发现不能直接添加字符或将double与int进行比较。 然而,C++提供了间接的方法来完成这两个操作。在需要时,char会被转换为int,int会被转换为double。例如:
char c = 'x';
int i1 = c;
int i2 = 'x';
这里i1和i2都得到了值120,这是最流行的8位字符集ASCII中字符'x'的整数值。这是获取字符的数字表示的一种简单且安全的方法。我们将此称为char-to-int转换安全,因为没有信息丢失;也就是说,我们可以将结果int复制回char并获得原始值:
char c2 = i1;
cout << c << ' << i1 << ' << c2 << '\n';
这将打印x 120 x
我不明白这里单引号的用法。当我尝试它时,它会打印x540818464x。
cout << c << ' ' << i1 << ' ' << c2 << '\n';
- Jarod42