VERIFY有什么用 我看了一下ASSERT和VERIFY的区别。觉得VERIFY好像是个多余的宏,用VERIFY能够解决的,ASSERT都能解决。那为什么还要有VERIFY呢?最好举个例子,说明在这种情况下,必须用VERIFY,而不能用ASSERT解决。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ASSERT仅用于DEBUG下面,VERIFY在DEBUG和Release下面都可以。 他们的区别我知道。如果差别仅仅是想让程序在Release版本下面执行VERIFY里面的代码,而VERIFY在Release版本下面又不报错,那好像把代码写在VERIFY里面和不写在VERIFY里效果是一样的吧 谢谢楼主提的问题及Mackz(在相互)的回答,让我搞清楚 了这个问题 可是VERIFY在DEBUG状态下会报错啊。 To Mackz(在相互):ASSERT在Debug状态下也会报错的。希望你能举个例子说一下,在这个例子中,只能用VERIFY,而不能用ASSERT。 把代码写在VERIFY,里面省得换debug release时还要改代码 http://topic.csdn.net/t/20020412/22/643025.html To limaolinghu(土耳其大骗鸡):你说的不对阿,我可以分成两句写啊,比如:Pointer *p = GetPointer();ASSERT(p != NULL);所以还是可以用ASSERT代替 你这个相当于没有把逻辑实现代码写在ASSERT里面,只是写了个判断。 谢谢大家把我搞清这两个宏.以后我用VERIFY,而不用ASSERT了,因为经常会忘记把代码写了ASSERT中,而在Relese中会出错误.(因为代码没执行) To limaolinghu(土耳其大骗鸡) :这两种方式的效果我觉得一样吧,按你的意思,写成VERIFY(p = GetPointer());但我觉得和分成两句没有什么区别阿。难道是我的理解有问题,请指示! 这样做是不好的,在断言里面,不应该出来任何实质性的操作,例如给变量赋值:int i = 0;ASSERT(i = 3);cout<<i<<endl;这样做在Debug下将输出3,而在Release下将输出0! 100分求助 读取与保存文档功能 CAxDialogImpl无法响应WM_CHAR事件 我想在一万个左右数据中找出重复率最高的前五个数据,请问那种算法效率最高? 请教各位高手:在Tab Control控件中加入List Control控件的问题? 如何不调出扫描仪自带的界面直接扫描 关于ADO的应用程序配置问题 初学vc,请教几个初级问题? 对于一个俄罗斯方块的程序Ars 如何使用msado15.dll中的名字空间 如何将CString转换为VARIANT类型? c++程序员的梦魇!--- 内存泄漏! 送100分----大家谈谈VC架构前景,或编程经历体验
如果差别仅仅是想让程序在Release版本下面执行VERIFY里面的代码,而VERIFY在Release版本下面又不报错,那好像把代码写在VERIFY里面和不写在VERIFY里效果是一样的吧
ASSERT在Debug状态下也会报错的。希望你能举个例子说一下,在这个例子中,只能用VERIFY,而不能用ASSERT。
你说的不对阿,我可以分成两句写啊,比如:
Pointer *p = GetPointer();
ASSERT(p != NULL);
所以还是可以用ASSERT代替
因为经常会忘记把代码写了ASSERT中,而在Relese中会出错误.(因为代码没执行)
这两种方式的效果我觉得一样吧,按你的意思,写成
VERIFY(p = GetPointer());
但我觉得和分成两句没有什么区别阿。难道是我的理解有问题,
请指示!
int i = 0;
ASSERT(i = 3);
cout<<i<<endl;
这样做在Debug下将输出3,而在Release下将输出0!