请教:
请问assert这个函数有什么作用!!
因为本人英语不好!看MSDN太吃力!!!!!
请哥哥姐姐们 教教!!
能举个小例子就更好了
谢谢!!!
[转载]
ASSERT( pcage!= NULL )
ASSERT( pcage->IsKindOf( RUNTIME_CLASS( CAge ) ) )
编译过程中判断语句的成功(合法)函数
是一种断言语句。主要用来调试程序
就是说Debug(调试)的时候,ASSERT( *******) 这句要运行,
但是到了release的时候,ASSERT( *******) 这句就忽略不运行,
作检查用,release时不运行,是为了提高速度。
ASSERT( booleanExpression );
首先:booleanExpression 参数是一个bool表达式。
用法:
当程序运行到该语句的时候,程序会检查booleanExpression 这个表达式是真还是假。
如果条件符合,程序继续运行下面的代码;
如果是不符合,那么持续运行会被卡在这里。不往下面走,并有程序弹出错误对话框,指示是由于booleanExpression 这个条件符合导致的报错。
作用:
ASSERT(booleanExpression )语句一般用来检查一些必须符合的条件,如果不符合条件,则不让程序继续运行下去。
比如:
一个班有55个人,有一个函数可以对班上的55个人进行处理,一个单独处理一个同学也可以,也可以同时处理多个同学。函数申明为:CONTROLSTUDENT(int number);其中number为要处理的学生的个数。
在使用CONTROLSTUDENT函数前,一般我们会使用
ASSERT(number<=55);
CONTROLSTUDENT(number);
这样可以保证输入的学生数目绝对小于等于55个人。
如果输入的number参数大于55,程序将报错,不执行。
总结:该指令可以用来做为某些条件的防护,避免不符合条件的东西产生导致程序的崩溃。