3 ms·
Actually I would say it was rather careless, because it mishandles NaNs: vector<double> v = {0, nan(""), 1}; sort(v.begin(), v.end(), [](double x, doub
by ridiculous_fish 12y ago
Actually I would say it was rather careless, because it mishandles NaNs:
vector<double> v = {0, nan(""), 1};
sort(v.begin(), v.end(), [](double x, double y) { return x>y; });
In my test this leaves the vector unchanged, which is definitely not in decreasing order.
- lomnakkus 12y ago">" does not form a total order on doubles if you include NaN, so that's not really suprising. That is, you're providing a comparison function which is invalid, you should (at best) expect invalid results.