【发布时间】:2021-11-17 14:12:47
【问题描述】:
我有两个类似的功能。这两个函数都包含一个嵌套的for -loop。我如何结合这两个功能来减少重复代码。
funcA 和funcB 之间的唯一区别是funcB 在循环中调用func_2。
两个函数如下。
void funcA()
{
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
func_1();
}
}
}
void funcB()
{
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
func_1();
func_2();
}
}
}
【问题讨论】:
-
在这种情况下尺寸是多少?内部函数中是否需要 i 和 j?
-
您没有告诉我们有关调用
funcA()和funcB()的不同用例的更多信息,在哪种情况下调用其中一个?基本上你想要一个参数来将该代码合并到一个函数中,并决定是否需要调用func_2()。 -
for(int i = 0; i < size * size; ++i) {func_1();}?
标签: c++ algorithm function for-loop refactoring