讲个笑话 sort double类型是ub
  • 板块灌水区
  • 楼主MrPython小河狸贝瓦
  • 当前回复50
  • 已保存回复50
  • 发布时间2024/8/14 19:37
  • 上次更新2024/8/14 21:35:14
查看原帖
讲个笑话 sort double类型是ub
679581
MrPython小河狸贝瓦楼主2024/8/14 19:37

考虑有个nan这种奇葩东西。

根据cppreference,比较的类型需满足具名要求“比较”(https://zh.cppreference.com/w/cpp/named_req/Compare)。

(std::less<double>())(nan,a) 在a是任何数字时都为false,即equiv(a, nan),而他不具有传递性

这样,double不满足比较具名要求,从语言层面讲是ub

实际操作时,在排序含有nan的数据时会ub。

2024/8/14 19:37
加载中...