gpt4 book ai didi

c++ - 如何压缩多个具有不同初始值的for循环

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:01 25 4
gpt4 key购买 nike

在一个函数中,我有几个连续的 for 循环,代码相同但控制变量的初始值不同。初始值是从函数的输入中获得的。即,

void thisFunction( class A a){
//some other code

for (int i = a.x; i != 0; --i){
code
}

for (int i = a.y; i != 0; --i){
code
}

for (int i = a.z; i != 0; --i){
code
}

//some other code
}

有没有什么方法可以将所有 for 循环压缩成一个循环,这样当我在循环中更改代码时,我就不必为所有三个循环都更改它?另一种方法是使用初始值作为输入编写 anotherFunction(),但我需要访问 thisFunction() 中的局部变量。

  void anotherFunction(int in){
for (int i = in; i != 0; --i){
code
}
}

那么还有其他方法可以压缩循环吗?

谢谢。

最佳答案

您的直觉是正确的 - 您必须将代码重构为一个单独的函数。 thisFunction 的局部变量将成为 anotherFunction 的参数;通常这些将通过引用传递。

关于c++ - 如何压缩多个具有不同初始值的for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3649789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com