C++ assert(0)

C++ assert(0)

assert(0)

TensorRT/samples/common/logging.hLogStreamConsumer:: severityPrefix中使用了assert(0)

class LogStreamConsumer : protected LogStreamConsumerBase, public std::ostream
{
//...
private:
    static std::string severityPrefix(Severity severity)
    {
        switch (severity)
        {
        //F for FATAL?
        case Severity::kINTERNAL_ERROR: return "[F] ";
        case Severity::kERROR: return "[E] ";
        case Severity::kWARNING: return "[W] ";
        case Severity::kINFO: return "[I] ";
        case Severity::kVERBOSE: return "[V] ";
        default: assert(0); return "";
        }
    }
    //...
};

參考What does assert(0) mean?assert(0)是用來標記"only reachable if there is a bug in my code"的部份用的,也就是說,在正常情況下,程序不應該走到default這個分支;如果到了這個分支,就說明代碼中有bug存在。

參考連結

What does assert(0) mean?

发布了90 篇原创文章 · 获赞 9 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/keineahnung2345/article/details/104076488