相关疑难解决方法(0)

822
推荐指数
10
解决办法
35万
查看次数

"#define for if(false){} else for"的可能用途是什么?

在另一个问题中,我刚刚发现了C智慧的这颗小珍珠:

#define for if (false) {} else for
Run Code Online (Sandbox Code Playgroud)

这导致MSVC为一个非常有效的声明吐出"常量表达式"警告:

for (int i = 0; i <= 10; i++) {...}
Run Code Online (Sandbox Code Playgroud)

我理解为什么 MSVC抱怨,因为它扩展到:

if (false) {} else for (int i = 0; i <= 10; i++) {...}
Run Code Online (Sandbox Code Playgroud)

我只是不明白为什么开发人员会使用那个小片段.有人有想法吗?

c c-preprocessor

45
推荐指数
2
解决办法
7728
查看次数

用for循环或while循环迭代?

我经常看到如下代码:

Iterator i = list.iterator();
while(i.hasNext()) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

但我写的是(当Java 1.5不可用或者每个都不能使用时):

for(Iterator i = list.iterator(); i.hasNext(); ) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

因为

  • 它更短
  • 它保持i在较小的范围内
  • 它减少了混淆的可能性.(在i外面使用?i声明在哪里?)

我认为代码应该尽可能简单易懂,这样我才能制作复杂的代码来完成复杂的事情.你怎么看?哪个更好?

来自:http://jamesjava.blogspot.com/2006/04/iterating.html

java iterator for-loop

40
推荐指数
4
解决办法
5万
查看次数

Java for循环与while循环.性能差异?

假设我有以下代码,有三个for循环来做某事.如果我将最外部的for循环更改为while循环,它会快速运行吗?谢谢~~

int length = 200;
int test = 0;
int[] input = new int[10];

for(int i = 1; i <= length; i++) {
    for (int j = 0; j <=length - i; j++) {
        for (int k = 0; k < length - 1; k++) {
            test = test + input[j + k];
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java for-loop while-loop

29
推荐指数
4
解决办法
8万
查看次数

C中的循环 - ()或while() - 哪个最好?

for()或while() - 哪个最好?

for (i=1; i<a; i++)
  /* do something */
Run Code Online (Sandbox Code Playgroud)

要么

i=1;
while (i<a) {
/* do something */
i++;
}
Run Code Online (Sandbox Code Playgroud)

c for-loop while-loop

6
推荐指数
1
解决办法
4328
查看次数

仅使用停止条件时,使用"for"或"while"循环?

可能重复:
为什么使用for循环而不是while循环?

我目前正在使用嵌入式c.我正在使用的软件是keil uvision.

所以我对你将使用哪个循环有疑问?两个循环完全相同.只要signal = 0,'i'将增加1.

首先,

for(;signal==0;)
{
    i++;
}
Run Code Online (Sandbox Code Playgroud)

下一个计划:

while(signal==0)
{
    i++;
}
Run Code Online (Sandbox Code Playgroud)

那么你会使用哪个循环?为什么?它们之间有什么区别?执行时间是否有任何差异?或者它纯粹基于您的偏好?

c embedded for-loop while-loop

0
推荐指数
1
解决办法
2439
查看次数

在 C++ 中退出 while (true) 循环

这是我的简单while (true)循环:

while (true)  
    {
        int i = 0;
        ++i;
        cout << i << endl;
        if (i == 5) {
            break;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以break;没有退出循环,输出是一个无限的1

c++

-2
推荐指数
1
解决办法
122
查看次数