【发布时间】:2015-12-03 09:05:25
【问题描述】:
我见过if(true)用过很多次。
int a = 10;
if(true){
int b = 20;
}
int c = 15;
我不明白将 if(true) 放在那里有什么意义。它是否总是评估为真,意味着它总是执行?它不是函数的一部分。它就在那里。和内存分配有关系吗?
【问题讨论】:
-
也许这是在尝试创建一个有限的范围。虽然只能使用大括号。
-
在任何半体面的版本编译中,这将被优化掉。留下曾经有一些真实逻辑但被非逻辑替换的旧代码可能是一种坏习惯。
-
范围限制器是一个很好的可能性,但也可能是一个快速调试开/关黑客。没有上下文谁知道?
-
如果您好心,请澄清一下:您说这不是函数的一部分。你能告诉我们更多关于它的一部分吗?随意简化和删除任何非公共消费类和命名空间名称。
-
不要假设所有代码都有意义。有时人们会做蠢事、懒惰、休息日等等。