为什么
在发布模式下使用#define assert(expression) ((void)0), 而不是
#define assert(expression)
?(严格来说,当定义 NDEBUG 时)
我听说有一些原因,但我忘了。
对于双重或浮动,
1. -inf < inf == true
2. inf + inf == inf
3. -inf - inf == -inf
4. positive / 0.0 == inf
5. negative / 0.0 == -inf
6. any real number < inf == true
7. -inf < any real number == true
这个陈述是真的吗?
我们不知道(inf < inf),但我们可以肯定它不会抛出任何例外.