C++ sort lambda 在以下情况下可能失效:
当 lambda 函数中捕获的变量的生命周期与排序操作的生命周期不匹配时,可能会导致未定义行为或错误结果。
当 lambda 函数中使用引用捕获时,如果 lambda 函数在排序操作后仍然被使用,可能会导致引用悬空,从而导致未定义行为。
当 lambda 函数中存在不支持的操作或不符合排序要求的操作时,可能会导致编译错误或运行时错误。
当 lambda 函数中存在异常抛出,并且排序操作未对异常进行处理时,可能会导致程序崩溃或未定义行为。
当 lambda 函数中存在与排序操作不兼容的比较逻辑时,可能会导致排序结果不正确。