我已經看了全部,似乎有很多關於assert的混合視圖。例如,如果我malloc'ing一個指針,要確保它被正確地分配我會寫:的處理錯誤檢查與斷言
p = malloc(sizeof(int));
assert(p)
代替:
p = malloc(sizeof(int));
if (p == NULL)
{
... send error message
}
我知道,與斷言它會結束程序,但對於測試目的 - 我想知道的是絕對最安全的方式是什麼:
- 測試的東西像一個
malloc
正在做正確。 - 處理一個錯誤,如果東西不是
malloc
'd正確。
請記住'assert'往往是無操作在釋放模式。 – juanchopanza
絕對選項2,'assert'用於調試目的。 – manetsus
那麼,如果你想檢查發佈模式中的錯誤,顯然不是。 – juanchopanza