Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在嵌套的for循环中,循环计数器设置为自身,这意味着什么? 我正在研究的一个项目,我需要从C++程序中获取源代码。_C++ - Fatal编程技术网

在嵌套的for循环中,循环计数器设置为自身,这意味着什么? 我正在研究的一个项目,我需要从C++程序中获取源代码。

在嵌套的for循环中,循环计数器设置为自身,这意味着什么? 我正在研究的一个项目,我需要从C++程序中获取源代码。,c++,C++,在一些地方,我看到了一些我不理解的东西,我在互联网上找不到任何东西 在多个嵌套for循环中,外部循环的计数器var设置为自身。这是为了退出循环,跳过循环,有人知道吗 这就是“n=n”部分:) for(int n=0;n

在一些地方,我看到了一些我不理解的东西,我在互联网上找不到任何东西

在多个嵌套for循环中,外部循环的计数器var设置为自身。这是为了退出循环,跳过循环,有人知道吗

这就是“n=n”部分:)

for(int n=0;n<12;n++){
用于(int m=0;m<99;m++){
对于(int p=0;p<10000;p++){
如果(p==2300){
n=n;
}
//代码在这里
}
}
}

n=n代码行没有任何作用,整个
if(p==2300){n=n;}
部分可能会在发布版本中进行优化

我怀疑原始作者这样做的原因是为了他们可以在
n=n上设置断点行并在调试器中捕获它。他们可能是错误地提交了更改


现代IDE通常会有一种设置条件断点的方法,以在这种情况下中断,但它们可能会很慢,有时使用这样的条件重新编译会更快。

在我看来,似乎有人想要一行代码,他们可以在调试时设置断点,以便在
p
等于2300.@ChrisDrew虽然你可能是对的,但是有很多可能没有用的代码行是有人可以写的,这些代码没有这一行那么令人困惑。代码没有什么意义。在解释代码时,您是否可能更改了操作的关键点?也许复制和粘贴实际代码可能会澄清问题。我想补充一点,VS(在Windows上)具有很好的调试功能,这使得这些代码变得相当过时。然而,我总是将专门用于调试的代码封装到类似于
#ifdef_DEBUG
#endif//u DEBUG
(在发布版本中禁用它并免费提供人类意图的功能)。@Scheff这些调试功能(例如,条件断点)可能非常慢。我曾经遇到过这样的情况:添加与所讨论的代码类似的代码、重新构建并再次运行比等待某个紧密循环最终满足调试条件更快。我不确定这是否是答案,但这可能是此类代码最合理的答案。;-)我要补充的是,这不是一个做条件断点的好方法,因为它充其量是一种神秘的方法。更好的方法是在#if_def_DEBUG中使用if语句,使其更为明显。@Rich:这些调试代码不应该首先提交。@Jarod42您是对的,不应该允许代码保留在其中。
for (int n = 0; n < 12; n++) {
    for (int m = 0; m < 99; m++) {
        for (int p = 0; p < 10000; p++) {
            if (p == 2300) {
                n = n;
            }
            // code here
        }
    }
}