草庐IT

EqualityComparable

全部标签

c++ - std::istream 类型是 EqualityComparable 吗?

我的问题会有一个bool值答案:是或否。不管是哪一个,有人能解释一下下面的代码是如何被GNU-g++4.9.2和clang3.5编译的,而GNU-g++5.1.1不再接受它,声称没有匹配的operator==?以及如何更改它,对于最后一个编译器,为了获得相同的结果,即让operator>>能够以如此简单的方式区分,是否它是由标准输入流或其他东西调用的?#include#includestructS{};std::istream&operator>>(std::istream&i,S&s){if(i==std::cin)std::clog>s;std::ifstreaminp(args[