/*assert 不是一个仓促拼凑起来的宏。为了不在程序的 Debug 版本和 Release 版本引起 差别,assert 不应该产生任何副作用。所以 assert 不是函数,而是宏。程序员可以把 assert 看成一个在任何系统状态下都可以安全使用的无害测试手段。如果程序在 assert 处终止 了,并不是说含有该 assert 的函数有错误,而是调用者...