cin如何在相应的类型中转换字符

时间:2013-08-12 13:19:32

标签: c++ input char ascii cin

我有一个关于“cin如何在相应的类型中转换字符”的问题,因为我对此事感到有点困惑。

例如我们有:int a; cin>> a;
如果输入是例如3,我知道cin将此作为字符并将其转换为int,但是它如何转换它,显然cin如何将char(3)转换为int(3),它是什么类型的转换use,因为如果我们使用类型转换将char 3转换为int,则int值将为 '3'的ASCII代码。

那么,有人能够详细解释这件事吗?

1 个答案:

答案 0 :(得分:2)

转换发生在三个连续阶段,详见this page。基本上发生的是,字符从输入流缓冲区中获取,并通过迭代每个字符获得的转换说明符转换为相应的类型。由于您的示例使用整数,因此转换说明符是long的转换说明符。这些转换说明符通过实现定义的方式用于将输入转换为变量的类型。