询问assert在监视acess violation的应用

more_chan 2005-03-21 01:49:06
最近在学用C++编一些程序,在内存访问的程序中经常会遇到访问越界的问题,听说可用assert实现监视,查过msdn,但感觉参考意义不大,在此请教各位大虾能给出个实例吗?顺便问下,需要包含什么头文件之类吗?
在此先谢过了!
...全文
26 点赞 收藏 4
写回复
4 条回复
more_chan 2005年03月21日
多谢各位了!
回复 点赞
oyljerry 2005年03月21日
assert()断言宏,需要表达式为true,否则出错
回复 点赞
Salam2001 2005年03月21日
#include <cassert> //标准头文件
using namespace std;

assert( expression );

在这里你告诉编译器让它给你"断言" expression 一定是 true.
如果,expression 是 false,那么“断言”失败,就会出现错误提示。
for example:

int foobar( int a, int b )
{
assert( b != 0 );
return a / b;
}

如果,b == 0 那么断言失败,出现错误提示。
回复 点赞
gnixemos 2005年03月21日
在debug下
#include <assert.h>

int a = 100;
assert(a > 0);


运行没有问题

如果a = -1;

则会有一个系统提示框,条件不满足的情况

所以
比如访问空指针
可以这样防止
assert(ptr);
回复 点赞
发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告