讲个笑话 sort double类型是ub

灌水区

MrPython @ 2024-08-14 19:37:00

考虑有个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。


by Crystal_camellia @ 2024-08-14 19:37:14

qp


by All_Failed_OI_Cici @ 2024-08-14 19:37:27

qp


by Crystal_Rose @ 2024-08-14 19:37:45

qp


by rui_er @ 2024-08-14 19:37:49

难绷


by da_ke @ 2024-08-14 19:38:23

@MrPython not a number(难nan) 总是会莫名出现qwq,这下好了。


by Y_zhao111 @ 2024-08-14 19:38:25

qp


by EverNight37 @ 2024-08-14 19:38:43

qp


by bryce @ 2024-08-14 19:39:02

qp


by qiuzijin2026 @ 2024-08-14 19:39:06

qp


by ceh666 @ 2024-08-14 19:39:18

@MrPython qp


| 下一页