我写了很多operator<<(std::ostream &, const T &)
函数——它们非常有用。
我从来没有用operator>>(std::istream &, T &)
真实的代码写过函数,甚至没有使用过内置类型的提取操作符(好吧,也许是 for std::string
)。这些仅适用于简短的示例程序和教科书吗?是operator>>
C++ 的失败特性吗?
有人问过有关安全地重载流操作符的问题。我想知道是否有人在实践中这样做。
即使对于像从 C++ 文件中读取输入这样简单的事情,我也不建议使用operator>>
. 编写能够检测和处理输入错误(或者我不知道如何)的代码太难了。
如果您不同意,请展示一个很好的使用示例operator>>
- 也许通过回答我链接到的最后一个问题。
总结:谢谢大家的回复,很多好的意见。曼努埃尔的回答让我重新考虑我不愿意使用
op>>
,所以我接受了那个。