Skip to content

败犬日报 2025-06-05

1. linux 程序在 win 上编译

最方便就用 WSL。

2. 自己实现 std::hash<std::pair<int, int>> 的特化会有问题吗

只要不打开 std 就不是未定义行为。不过这个未定义行为用的人很多,所以其实不是很严重的问题。

更新:错误,和是否打开 std 无关,对标准库的类模板特化需要依赖至少一个用户定义类型,因此这个例子一定是 UB。应该自己封装一个类型。

至于怎么实现 pair 的哈希算法,可以参考 boost::hash, boost::hash_combine。