q****x 发帖数: 7404 | 1 比如下面这个:
void foo(int* p) {
assert(p != nullptr);
*p = 100;
}
这里有没有assert都没区别吧?程序总是要崩溃的。
另外加assert使得binary崩溃似乎也不是什么好办法。 |
g*********e 发帖数: 14401 | 2 取决与你写哪种程序。桌面程序可以用assert 出错就退出。
如果c的话有种做法是debuf build加assert, release build为了性能考虑关掉assert。
webservice不能跨,你去网络公司面试说用assert检查错误, 直接pass |
g*********e 发帖数: 14401 | 3 你这里加assert的好处是可以知道哪里出错了,不然程序有可能再跑很久才垮 |
q****x 发帖数: 7404 | 4 直接给地址0赋值,立马segmentation fault吧。
【在 g*********e 的大作中提到】 : 你这里加assert的好处是可以知道哪里出错了,不然程序有可能再跑很久才垮
|
l*********s 发帖数: 5409 | 5 assertion is for programmers to catch logic bugs. |
g*********e 发帖数: 14401 | 6 但实际中那个指针不一定马上被用到
【在 q****x 的大作中提到】 : 直接给地址0赋值,立马segmentation fault吧。
|