【发布时间】:2014-11-18 04:17:42
【问题描述】:
AFAIK 这是一个标准的“成语”
# define INT_MIN (-INT_MAX - 1)
# define INT_MAX 2147483647
问题:为什么INT_MIN的定义不是-2147483648?
【问题讨论】:
-
如果两个都单独定义,当你要修改的时候,要提醒自己两个都改。如果其中一个依赖于另一个,那么您只需更改一个,更改将适用于两者。
-
@HuStmpHrrr:我读到有一个原因,但没有解释这个原因(与编译器有关,与代码设计无关)
-
不幸的是,我目前没有 gcc。但我认为您可以直接尝试
int foo = -2147483648;看看编译器是否会抱怨。我对结果很好奇。 -
我不喜欢这样一个事实,即当我将其标记为“可能重复”时,它会立即被标记为“重复”。但无论如何,这个问题之前已经被问过很多次了。
-
@AndreyT 我同意。太好了,所有所说的 insta-dupe 的权力都被授予了我们这些有足够疯狂来建立高声望的人,但如果他们能给老 -如果我们认为它是一个样式,则将其命名为副本作为替代方案,但希望我们的其他成员在它背后有额外的重量。我不认为这是一个很难添加的功能。也许可以在 meta 上抛出一些东西。