在进行实验时,我经常使用if (true) {..}
或if (false) {..}
来分割我正在玩的代码块。
问题是这些天的编译器有时会发出关于无法访问的代码的警告。然后我必须将我的代码推广到像if ((10 % 2) == 0)
这样的东西,但是后来一些更聪明的编译器也将其视为无法访问...(因此小型军备竞赛开始......)
如何解决这个问题?
答案 0 :(得分:2)
尝试使用预处理器标志将其移出代码:
#if false
.... code which won't get run ....
#endif
有些IDE甚至会崩溃这些不可运行的块,以防止它们被挡住。
答案 1 :(得分:1)
为什么不使用某种“环境变量”来控制这种事情呢?使它成为一个有条件的条件,然后你就不会与编译器作斗争。
if ( environment.MODE_EXPERIMENT) {
experimental code here
}
我个人非常努力避免做这种事情,我们有SCM系统允许我们保留旧版本的代码,真的不需要这么做。
答案 2 :(得分:1)
这应该做:
if (atoi("1")) {
}
这对于生成任何类型的常量也很有用。
答案 3 :(得分:0)
几乎每种语言都有if(false) { }
版本,编译器/ IDE不会抱怨。最常见的(afaik)如下所示:
/*
int i = 0;
String s = "I will never be run!";
*/
是的,评论。确切地说是多行注释。停止运行代码块几乎是他们的第二个主要目的(在文档之后)。当然,if(true)
是通过不使用它们来处理的。
你试图在这里重新发明轮子,我不明白为什么。