标签: for-loop

在for循环中使用break是不好的做法吗?

循环中使用break语句是不好的做法?for

说,我在数组中搜索一个值.比较for循环内部和找到值时,break;退出for循环.

这是一种不好的做法吗?我已经看到了使用替代:定义一个变量vFound,当被发现的价值它设置为true,并检查vFoundfor语句条件.但是,是否有必要为此目的创建一个新变量?

我在正常的C或C++ for循环的上下文中询问.

PS:MISRA编码指南建议不要使用break.

for-loop break

118
推荐指数
15
解决办法
14万
查看次数

两个左尖括号是什么意思?

我看到了一个我以前从未见过的循环:

for (int i = 0; i < (1 << list.Count); i++)
Run Code Online (Sandbox Code Playgroud)

我无法理解是什么(1 << list.Count)意思,也许有人可以解释我这个?

.net c# for-loop list bitwise-operators

118
推荐指数
0
解决办法
6570
查看次数

对于自己的花括号内的循环

我遇到过这种for循环布局:

#include <iostream>
int main()
{
    {
        for (int i = 0; i != 10; ++i)
        {
            std::cout << "delete i->second;" << std::endl;
        }
    }

    {
        for (size_t i = 0; i < 20; ++i)
        {
            std::cout << "delete m_indices[i];" << std::endl;
        }
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我想知道这个额外的支撑层是什么用的?这在我们的代码库中出现了几次.

c++ scope for-loop

117
推荐指数
2
解决办法
8944
查看次数

使用jQuery迭代JavaScript对象的属性

是否有jQuery方法对对象的成员执行迭代,例如:

    for (var member in obj) {
        ...
    }
Run Code Online (Sandbox Code Playgroud)

我只是不喜欢这个for从我可爱的jQuery符号中伸出来!

javascript iteration jquery for-loop

115
推荐指数
3
解决办法
10万
查看次数

在范围循环中从地图中删除选定的键是否安全?

如何从地图中删除选定的键?delete()与范围结合是否安全,如下面的代码?

package main

import "fmt"

type Info struct {
    value string
}

func main() {
    table := make(map[string]*Info)

    for i := 0; i < 10; i++ {
        str := fmt.Sprintf("%v", i)
        table[str] = &Info{str}
    }

    for key, value := range table {
        fmt.Printf("deleting %v=>%v\n", key, value.value)
        delete(table, key)
    }
}
Run Code Online (Sandbox Code Playgroud)

https://play.golang.org/p/u1vufvEjSw

dictionary for-loop go

115
推荐指数
4
解决办法
3万
查看次数

如何修复"在C99模式外使用的循环初始声明"GCC错误?

我正在尝试解决3n + 1问题,我有一个for看起来像这样的循环:

for(int i = low; i <= high; ++i)
        {
                res = runalg(i);
                if (res > highestres)
                {
                        highestres = res;
                }

        }
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我尝试使用GCC编译时,我收到此错误:

3np1.c:15:错误:'for'循环初始声明在C99模式之外使用

我不知道C99模式是什么.有任何想法吗?

c gcc for-loop

114
推荐指数
7
解决办法
31万
查看次数

如何停止JavaScript for循环?

我正在使用这个JavaScript迭代一个数组并找到一个匹配的数组元素:

var remSize = [], 
    szString, remData, remIndex, i;

for (i = 0; i < remSize.length; i++) {      
    // I'm looking for the index i, when the condition is true
    remSize[i].size == remData.size ? remIndex = i : remIndex = -1;     
}
Run Code Online (Sandbox Code Playgroud)

该数组包含这些"大小":["34", "36", "38"...].

remData.size 是我正在寻找的"大小"(例如"36").

i如果我正在搜索的大小在索引中,我需要返回索引.否则我需要回来-1.有一个更好的方法吗?

javascript for-loop

113
推荐指数
3
解决办法
15万
查看次数

在for循环中避免if语句?

我有一个叫做类Writer的函数writeVector有这样的函数:

void Drawer::writeVector(vector<T> vec, bool index=true)
{
    for (unsigned int i = 0; i < vec.size(); i++) {
        if (index) {
            cout << i << "\t";
        }
        cout << vec[i] << "\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图不要重复代码,同时仍然担心性能.在函数中,我正在if (index)对我的for-loop的每一轮进行检查,即使结果总是相同的.这反对"担心表现".

我可以通过将检查放在我的for-loop 之外来轻松避免这种情况.但是,我会得到大量重复的代码:

void Drawer::writeVector(...)
{
    if (index) {
        for (...) {
            cout << i << "\t" << vec[i] << "\n";
        }
    }
    else {
        for (...) {
            cout << vec[i] << "\n";
        }
    } …
Run Code Online (Sandbox Code Playgroud)

c++ design-patterns for-loop c++11

113
推荐指数
3
解决办法
1万
查看次数

为什么40亿次迭代的Java循环只需2 ms?

我在配备2.7 GHz Intel Core i7的笔记本电脑上运行以下Java代码.我打算让它测量完成2 ^ 32次迭代循环所需的时间,我预计大约需要1.48秒(4/2.7 = 1.48).

但实际上它只需要2毫秒,而不是1.48秒.我想知道这是否是下面任何JVM优化的结果?

public static void main(String[] args)
{
    long start = System.nanoTime();

    for (int i = Integer.MIN_VALUE; i < Integer.MAX_VALUE; i++){
    }
    long finish = System.nanoTime();
    long d = (finish - start) / 1000000;

    System.out.println("Used " + d);
}
Run Code Online (Sandbox Code Playgroud)

java jvm for-loop

113
推荐指数
5
解决办法
1万
查看次数

在for-in循环中键入cast

我有这个for-in循环:

for button in view.subviews {
}
Run Code Online (Sandbox Code Playgroud)

现在我想将按钮转换为自定义类,以便我可以使用它的属性.

我试过这个: for button in view.subviews as AClass

但它不起作用,并给我一个错误:'AClass' does not conform to protocol 'SequenceType'

我试过这个: for button:AClass in view.subviews

但这也不起作用.

for-loop for-in-loop swift

111
推荐指数
4
解决办法
3万
查看次数