【发布时间】:2017-10-31 14:34:12
【问题描述】:
我知道std::cin >> x 会将输入流中的值存储在变量x 中。我也知道cin 将尽可能长时间地扫描输入流以获得x 的有效表示(跳过任何空白)。但是,如何为不同的数据类型定义这种行为,以及支持哪些数据类型?
cin 是否对每种类型的 >> 有不同的重载?它只支持基本数据类型吗?
同样,std::cout 如何知道如何打印出一个值?我假设它使用隐式转换为字符串,但我无法确认。
【问题讨论】:
-
您在问几个问题。第三部分是stackoverflow.com/questions/2981836/how-can-i-use-cout-myclass的副本
-
谢谢。我假设他们是相关的,回答一个会对其他人有所帮助。
-
operator>>用于输入和operator<<用于输出对于每种类型都已重载。它不仅支持基本类型,例如std::string 不是基本的,您可以自己重载它以支持您自己的类。cout不知道如何打印出一个值,但您传递的类型的相关重载却可以。
标签: c++ type-conversion cin cout