摘要:
断言(assert宏)的副作用 我的确对#define的很多种用法都深恶痛绝,唯对定义在中的assert宏情有独钟。说句实话,我鼓励大家多多使用它--前提是用好它。但问题就在于能不能用好它。 实现的方式固然百家争鸣,不过assert宏多数情况下和下面的定义相差不远: gotcha28/myassert.h #ifndef NDEBUG #define assert(e) ((e) / ? ((void)0) / :__assert_failed(#e,__FILE__,__LINE__) ) #else #define assert(e) ((void)0) #endif 如果ND... 阅读全文