c++中一行有两个for循环
Two for loops in one line c++
我的问题是关于一行代码中的两个for循环。例如:
vector < vector<int> > myArray;
for (int i; i > n; i++) for (int j; j > m; j++)
{
//Statements
myArray[i][j];
}
显然,它实际上是用于二维数组或向量,但真正的实际例子是什么呢?因为很难在单独的行中显示行和列。而且,两个for循环条件会同时改变,因为它们在同一行,这将使控制整个过程更加困难。
简单地说,这样做的实际目的是什么?简短的回答:使代码更难阅读的实际目的通常是没有的(一行上的两个for
循环肯定是这样的)。无论您是否使用:
for (int i; i > n; i++) for (int j; j > m; j++)
{
//Statements
myArray[i][j];
}
或
for (int i; i > n; i++)
{
for (int j; j > m; j++)
{
//Statements
myArray[i][j];
}
}
然而,除了混淆竞赛之外,以难以阅读的方式编写代码对可维护性、可读性和可调试性都是不利的。上面的第二个选项更容易快速阅读和理解,也更容易调试。
有许多风格指南涵盖了这一点,给出了"好"代码的示例,以及以某种方式编写代码的理由。
看一下这个问题的一些链接:C编程风格指南
没有必要在一行中使用多个for循环。
for (int i; i > n; i++) for (int j; j > m; j++) Statements
等价于:
for (int i; i > n; i++) {
for (int j; j > m; j++) {
Statements
}
}
删除大括号只会改变代码的外观。到最后都不重要了。在某些情况下,它可以使您的代码看起来更干净。
相关文章:
- 如何在C++中从两个单独的for循环中添加两个数组
- 如何在for循环中包含两个索引值的测试条件
- 我可以创建一个包含两个变量的 for 循环,但时间复杂度仍然为 O(n) 吗?
- C++声明双链表,使用两个 for 循环双向遍历列表并打印
- 是否可以在 for 循环中添加两个浮点数?
- 在 for 循环中更新两个变量时遇到问题C++
- 使用两个 for 循环生成以下星号
- 比较嵌套 for 循环中的两个 wchar 数组?
- 在 C++ 中使用 OpenMP 并行化两个 for 循环不会提供更好的性能
- 同一范围内矢量的两个独立"for"循环,仅打印第一个循环
- 为什么 for 循环不能定义两个作用域的变量?
- 有没有办法在不使用两个 for 循环的情况下迭代两个容器
- 这两个 for 循环在 C 中有什么区别
- 如何使用两个 for 循环执行唯一的洗牌
- 什么是 grey.cols-1 和 grey.row -1,有两个 for 循环
- C++压缩两个for循环以提高效率
- 擦除两个 for 循环内的矢量元素
- 混淆C++ 翻译:float&,两个 for 循环
- 如何在C++中为矢量数据结构中的二维数组获取用户输入,而不使用行和列上的两个for循环
- c++中一行有两个for循环