Appearance
最方便就用 WSL。
std::hash<std::pair<int, int>>
只要不打开 std 就不是未定义行为。不过这个未定义行为用的人很多,所以其实不是很严重的问题。
更新:错误,和是否打开 std 无关,对标准库的类模板特化需要依赖至少一个用户定义类型,因此这个例子一定是 UB。应该自己封装一个类型。
至于怎么实现 pair 的哈希算法,可以参考 boost::hash, boost::hash_combine。