首页 > 解决方案 > 如何制作宏以在for循环中生成代码?

问题描述

我在代码审查中注意到以下代码:

for (int i = 0; i < 50; ++i) {
  switch(i) {
    case 0:
      return f1();
    case 1:
      return f2();
    ...
    case 49:
      return f50();
  }
}

我想知道是否有任何优雅的方式,例如使用宏来简化此代码(将其减少到几行):

谢谢。

标签: c++cmacrosc-preprocessor

解决方案


for (int i = 0; i < 50; ++i) {
  switch(i) {
    case 0:
      return f1();
    ...

可以简化为

return f1();

不需要宏。


推荐阅读