2

我有一个关于“cin 如何将字符转换为相应类型”的问题,因为我对这件事有点困惑。

例如我们有: int a ; 辛 >> 一 ;
如果输入例如 3 ,我知道 cin 将其作为字符并将其转换为 int ,但它是如何转换的,很清楚 cin 如何将 char (3) 转换为 int (3) ,它是什么样的转换使用 ,因为如果我们使用 typecast 将 char 3 转换为 int ,则 int 值将是 '3' 的 ASCII 码。

那么,有谁能详细解释一下这件事吗?

4

1 回答 1

2

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

于 2013-08-12T13:44:40.660 回答