assert详解 C++[转]

#include <iostream>
#include <cassert>
int main()
{
        int a=5;
        assert(1);
        std::cout<<a<<std::endl;
}
assert(0)时:assert: assert.cpp:6: int main(): Assertion `0' failed.

assert(1)  时:5


C++ assert()函数的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。

使用C++ assert()函数的缺点:频繁的调用会极大的影响程序的性能,增加额外的开销。

在调试结束后,可以通过在包含#include < assert.h>的语句之前插入 #define NDEBUG 来禁用assert调用,示例代码如下:

#include < stdio.h>   #define NDEBUG   #include < assert.h> 

转自:http://blog.itpub.net/post/17630/281831

posted @ 2012-06-20 19:44  propheteia  阅读(380)  评论(0编辑  收藏  举报