0

该标准提供了所有的比较运算符赋值运算pair。是否讨论过提取操作员的潜力?

例如:

template <typename _Ty1, typename _Ty2>
enable_if_t<decltype(declval<istream&>() >> declval<_Ty1&>(), true_type())::value && decltype(declval<istream&>() >> declval<_Ty2&>(), true_type())::value, istream&> operator >> (istream& lhs, pair<_Ty1, _Ty2>& rhs) {
    return lhs >> rhs.first >> rhs.second;
}

显然,如果在pair包含未定义提取运算符的类型时使用 this,这将失败,就像比较pair不包含比较运算符的类型会失败一样。

但是想想能够在一个流中播放的快乐map!肯定有人提出这个?

4

0 回答 0