cin对象如何根据用户需要将字符转换为不同的类型?
How does cin object converts characters to different types as user needes?
std::cin
对象作为 basic_istream<char>
(istream
) 的实例时如何处理不同的类型?
class std::basic_istream<CharT, Traits>
对 CharT
类型的字符输入流建模。它提供对该输入流的相对低级和相对高级的访问。例如,您可以调用 std::cin.get()
以便从输入流中检索下一个字符;这将始终 return CharT
,因为这是流中字符的基础类型。但是,basic_istream
还提供了 格式化输入函数 ,其目的是将该字符流解释为某种类型的编码,可能是 int
,std::basic_string<CharT, Traits>
,或者别的什么。因此,虽然流不由 int
组成,但有一个 operator>>
通过从 char
流中连续读取数字并将它们解释为整数的基数 10 表示。 operator>>
函数被重载,因此它可以用来提取各种不同的类型。
std::cin
对象作为 basic_istream<char>
(istream
) 的实例时如何处理不同的类型?
class std::basic_istream<CharT, Traits>
对 CharT
类型的字符输入流建模。它提供对该输入流的相对低级和相对高级的访问。例如,您可以调用 std::cin.get()
以便从输入流中检索下一个字符;这将始终 return CharT
,因为这是流中字符的基础类型。但是,basic_istream
还提供了 格式化输入函数 ,其目的是将该字符流解释为某种类型的编码,可能是 int
,std::basic_string<CharT, Traits>
,或者别的什么。因此,虽然流不由 int
组成,但有一个 operator>>
通过从 char
流中连续读取数字并将它们解释为整数的基数 10 表示。 operator>>
函数被重载,因此它可以用来提取各种不同的类型。