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