stl输出重载

set 重载

template<typename T>
ostream& operator << (ostream& a_loger, const std::set<T>& a_value) {
    for(auto it = a_value.begin(); it != a_value.end(); ++it) {
        a_loger<<"<"<<*it<<">";
    }
    return a_loger;
}

map 重载

template<typename Tkey, typename Tvalue>
ostream& operator << (ostream& a_loger, const std::map<Tkey, Tvalue>& a_value) {
    for(auto it = a_value.begin(); it != a_value.end(); ++it) {
        a_loger<<"<"<<it->first<<","<<it->second<<">";
    }
    return a_loger;
}

最后更新于

这有帮助吗?