C++ 中 std::nothrow 有什么样的应用场景呢
对于比较健壮的代码来说,nothrow使用的情况比直接new多很多吧。
直接new如果失败要抛出异常的,结果就是为了健壮性代码里到处都是try。
所以一般健壮的分配方式都用new (nothrow) xxx的(当然也有用malloc等的),之后判断NULL就ok
还有在new出现异常,表示内存几经到达边缘了,再用try+catch来消耗内存也是无济于事
那么请问,应该如何测试“内存几近边缘”这种情况呢?如果我们不能有效测试这种情景,使用bad_alloc还是nothrow都没有实际意义。