C++安全编码:断言

断言

简介

在程序设计中,断言(assertion)是一种放在程序中的一阶逻辑(如一个结果为真或是假的逻辑判断式),目的是为了标示与验证程序开发者预期的结果-当程序运行到断言的位置时,对应的断言应该为真。若断言不为真时,程序会中止运行,并给出错误消息。

C++断言包含运行期检查断言、静态断言

  • 运行期检查的断言
    在程序运行时,可以用断言检查程序开发时的假设,确认这些假设是否成立。
    存在先天的缺点:可能有改变存储器数据或是线程时序的风险,因此需小心的处理断言,确认断言在程序中没有其他的副作用。
  • 静态断言(c++11以上,static_assert)
    只在编译期间检查的断言称为静态断言,静态断言必需配合清楚的注解说明。
    介绍static_assert

程序结构中的断言有助于在不使用第三方程式库的情形下,应用测试驱动开发的开发方式。

示例

运行时期检查的断言

  • 头文件:
所需引用头文件 基本用法
assert.h(C语法)、cassert(C++) assert(bool_constexpr)
<
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值