本文代码来自于QQ群中nous大神,类似于static assert,不过断言异常内容可以自定义。 代码分为boost版本和标准版本,使用ENSURE_HAS_BOOST 宏来区分。 代码: // // ensure.hpp // // Copyright (c) Nous Xiong. // // Macro ENSURE impl. // #ifndef ENSURE_HPP #define ENSURE_HPP #ifdef ENSURE_HAS_BOOST #include <boost/exception/all> #include <boost/thread/tss.hpp> #include <boost/preprocessor/seq/for_each.hpp> #include <boost/integer.hpp> #include <stdexcept> #include <sstream> #include <iostream> namespace un { /// 运行时刻信息 typedef boost::error_info<struct tag_runtime, std::string>……

阅读全文