摘要: 你可能經(jīng)常需要利用運行時斷言技術(shù),它可以方便地測試前提條件。但是,隨著Metaprogramming概念的出現(xiàn),編譯時斷言技術(shù)也已經(jīng)和runtime assertion一樣的普遍了。如何在編譯時進(jìn)行斷言呢?其實,方法只有一個,就是讓編譯器生成一條錯誤信息,但是編譯器生成的錯誤信息信息性往往有又理想。并且,即使你在一種編譯上設(shè)計了一種方案,你也很難把它移植到其他的編譯器上。我們通過其實現(xiàn)方法的改進(jìn)和一個Boost中的例子,來看看如何更好的實現(xiàn)這種技術(shù)。
閱讀全文