无论如何我可以缩短这段代码吗?它太笨重了!

switch(line){
    case 1:
      llemu::editLable(line1, fmt);
    break;
    case 2:
      llemu::editLable(line2, fmt);
    break;
    case 3:
      llemu::editLable(line3, fmt);
    break;
    case 4:
      llemu::editLable(line4, fmt);
    break;
    case 5:
      llemu::editLable(line5, fmt);
    break;
    case 6:
      llemu::editLable(line6, fmt);
    break;
    case 7:
      llemu::editLable(line7, fmt);
    break;
    case 8:
      llemu::editLable(line8, fmt);
    break;
  }

有没有办法将变量值用作变量名的一部分?感谢您的帮助。

最佳答案

只需将所有 line1line2 、 ... 放入数组 lines 中。
然后你的代码变成:

if (line >= 1 && line <= 8) {
    llemu::editLable(lines[line - 1], fmt);
}

关于c++ - 是否有任何语法可以缩短此代码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57043304/

10-12 15:34