请问ASSERT,ASSERT_VALID宏分别有什么有
解决方案 »
- VS2008中点击资源视图出现在另一个编辑器中打开——菜鸟提问
- 线程中通迅有两处错误,如何修改?
- 用VC编辑时看到的字体 和 最后exe文件运行时字体不同
- 如何枚举窗口得到窗口句柄,再得到窗口所属进程?
- 高分相求!!如何得到CRichEditCtrl控件中鼠标位置下当前的字符串行数???
- 高手救急,socket编程怎样实时知道网络断线了???100份不够再加。。。
- 请问.怎么在程序的对话框上显示gif动画?
- 怎么删除?
- Smtp服务器的一个问题。好苦恼。
- 如何利用3个点做定位
- Ado 数据库程序为什么放到别的电脑上面就不能访问数据库呢?
- 单文档基于CEditView程序,如何获得当前行中的指定文字?谢谢大家了!!
用于求两个数的商。
因为您自己可以保证!=0,所以您可能会:
int div(int x,int y)
{
return x/y;
}
但是您可能会担心在程序没有完全完成时候
有时因为疏忽而导致y==0,
于是,您:
int div( int x,int y)
{
if(y==0) exit(1);
return x/y;
}
但是在正常情况下,if一句的作用只是影响效率.有没有一种方法,可以两全其美呢?
看:
int div( int x,int y)
{
ASSERT(y!=0);
return x/y;
}
如果您在DEBUG模式下,他等于
int div( int x,int y)
{
if(y==0)
{
//...............
}
return x/y;
}
如果在Realse模式下,
他等于:
int div( int x,int y)
{
return x/y;
}