boost:断言

boost:断言,第1张

#include 

int main()
{
    int a = 177;
    BOOST_ASSERT(a < 99);//等同于标准库的 assert()
    BOOST_ASSERT_MSG(a < 99,"a应该小于99");
}

默认这两个宏仅在debug模式下有用。


禁用断言

在导入头文件 “boost/assert.hpp” 之前添加:

#define BOOST_DISABLE_ASSERTS

可使上面两个断言的宏不起作用。


拓展用法

如果在导入头文件之前添加:

#define BOOST_ENABLE_ASSERT_HANDLER

那么:

  1. 在release模式断言也将运行。


  2. 处理断言的方式不是d出d窗,而是将断言信息发到两个函数,函数已经定义好,需要用户自己实现其内容。


#define BOOST_ENABLE_ASSERT_HANDLER
#include 

namespace boost
{
    //处理BOOST_ASSERT
    void assertion_failed(char const * expr,
                          char const * function,
                          char const * file,
                          long line)
    {
        qDebug()<<"断言失败assertion_failed:"<

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/578628.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)