assertthat和assertequals的区别_assertEquals

assertthat和assertequals的区别_assertEqualsASSERT_VALID()与ASSERT()异同ASSERT()是MFC库中的断言,用法是ASSERT(布尔表达式).ASSERT宏用于确保参数内的表达式正确,如果表达式为false,则会显示一个消息对话框,其中有源文件的名字和当前行号,用户可以


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

ASSERT_VALID()与 ASSERT()异同

ASSERT()是MFC库中的断言,用法是ASSERT(布尔表达式).

ASSERT宏用于确保参数内的表达式正确,如果表达式为false,则会显示一个消息对话框,其中有源文件的名字和当前行号,用户可以选择中断程序或进行调试.这个宏通常用于校验参数和返回值.

ASSERT_VALID()也是MFC库中的断言,更确切点是ASSERT断言的变种,用法是ASSERT_VALID(一个从CObject类派生的对象指针),功能:检查这个指针是否有效。
ASSERT_VALID强制调用参数对象(必须是CObject或CObject*)的AssertValid函数,该函数实现对象的内部一致性检查,当你创建一个可重用类时,应该重载这个函数(VC中缺少已经重载了该函数),你可以在该函数中进行必要的检查工作.  

以上两个宏均只在Debug版本中有效,与ASSERT相对应的是VERIFY.VERIFY宏在Debug版本中与ASSERT相同,在Release版本中仅执行参数表达式,不进行校验. 至于该怎么使用,如果你用MFC那么你可以用ASSERT()检查一个逻辑变量的合理性,
同样使用MFC,你在使用CObject派生类的对象之前你可以调用ASSERT_VALID()对其合法性进行检测.

ASSERT(pSysMenu);//检察pSysMenu是否为空
ASSERT_VALID(pSysMenu); //指针是否有效

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196631.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • Matlab循环语句_matlab中if语句的用法

    Matlab循环语句_matlab中if语句的用法《matlab循环语句》由会员分享,可在线阅读,更多相关《matlab循环语句(9页珍藏版)》请在人人文库网上搜索。1、matlab基本语句1.循环语句forfori=s1:s3:s2循环语句组end解释:首先给i赋值s1;然后,判断i是否介于s1与s2之间;如果是,则执行循环语句组,i=i+s3(否则,退出循环.);执行完毕后,继续下一次循环。例:求1到100的和,可以编程如下:sum=0fo…

    2022年9月28日
  • SyntaxError: (unicode error) ‘utf-8’ codec can’t decode byte 0xc4 in position 0: invalid continuatio[通俗易懂]

    SyntaxError: (unicode error) ‘utf-8’ codec can’t decode byte 0xc4 in position 0: invalid continuatio[通俗易懂]SyntaxError: (unicode error) ‘utf-8’ codec can’t decode byte 0xc4 in position 0: invalid continuatio

    2022年4月24日
  • Yum源配置_linux配置离线yum源

    Yum源配置_linux配置离线yum源使用说明Euler的镜像地址为:https://mirrors.huaweicloud.com/euler/1、在/etc/yum.repos.d/目录下,创建文件EulerOS.repo,根据EulerOS版本及系统架构选择配置内容。EulerOS版本及系统架构:[base]name=EulerOS-2.0SP8basebaseurl=http://mirrors….

    2022年8月12日
  • vi的撤销命令

    vi的撤销命令

    2021年10月22日
  • copy和deepcopy[通俗易懂]

    copy和deepcopy[通俗易懂]总结一下,如果一个集合中的元素是字符串,copy之后则是两个互不相干的新集合,内存地址也不一样,修改任意一个另一个不会做出改变,但是如果其中的元素有数组的话,那么情况就不一样了,copy后虽然集合是两个完全新的集合,但是集合中的数组指向的是同一个内存地址,在此集合中对其中的数组数据进行修改,另一个集合中的元素是数组的内容也会改变,如果想完完全全独立出来是两个独立的集合,就得使用deepcopy而不…

    2022年10月2日
  • Virtualbox下使用virt-p2v

    Virtualbox下使用virt-p2v1虚拟机迁移参考:http://www.ibm.com/developerworks/cn/linux/l-cn-mgrtvm1/index.html2物理机到虚拟机的迁移virt-p2vredhat官方文档:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/V2V_Guide/cha

    2022年7月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号