这更像是一个,我有点想知道这个问题是否有意义,而不是一个,我有一个真正的问题,我对你的意见很感兴趣。如果有任何语法错误,我会使用伪代码来说明要描述的意图。
我有一个使用 for 循环的程序。
for (frame_pos = 0; frame_pos < frame_size; frame_pos++) {
ABC...
}
现在我想添加另一种可能的方法来遍历我的程序。
for (frame_pos = framelist.first; framlist.hasNext; frame_pos = framelist.getNext) {
ABC...
}
所以我写了一个if语句
if(a == true){
for (frame_pos = 1; frame_pos <= frame_size; frame_pos++) {
ABC...
}
}else{
for (frame_pos = framelist.first; framlist.hasNext; frame_pos = framelist.getNext) {
ABC...
}
}
但不知何故我不喜欢它,因为我重复了我的代码。
ABC...
当然,我可以将循环中的所有内容移动到一个方法中,并且只调用该方法。但我想知道,如果像
switch(a){
case(true):
for (frame_pos = 1; frame_pos <= frame_size; frame_pos++) {
break;
default:
for (frame_pos = framelist.first; framlist.hasNext; frame_pos = framelist.getNext) {
break;
}
是可能的,如果可能的话,有用且有意义,因为我会在这里使用它。当然,它不一定必须是 switch-case
,也可以是其他机制。但我的意图是/是拆分,从我的角度来看,atomic
for( ; ; ) {
...
}
体并重组它。
最佳答案
将 ABC
设为一个函数 ( extract method ) 并调用它。
关于c++ - 如何在不同的 for 循环之间切换,这样的机制是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17467489/