自定义 Std::sort 对比函数时的陷阱
前言:记录这个案例的目的,是为了说明:
堆内存溢出这样的错误,可能是由于错误地自定义了一个 compare 函数而引起的。 这两者之间似乎没什么直接联系,若不是碰巧有 Address Sanitizer 的帮助,基于之前的认知,可能发现问题和定位原因都很困难。
之前在 LeetCode 上做【179. 最大数 】这道题时写了如下代码:
1bool comp3(const int a, const int b) { 2 if (a == b) { 3 return true; 4 } 5 string sa = to_string(a); 6 string sb = to_string(b); 7 return sa + sb …