c++ - "Abusing"减少 if 嵌套的循环

标签 c++

有时必须执行一系列 if/else 检查。在过去,goto 是执行此操作的标准工具。

由于 goto 在许多代码风格指南中都是禁止的,我有时会使用循环作为替代,例如:

do
{
  if (a)
  {
   doA();
   break;
  }
  //...
  if (z)
  {
   doZ();
   break;
  }
}while(false);

//all break jump here

这是一个好的方法吗?是否有一个好的 C++ 模式(例如,使用模板、继承等)来实现它而不需要太多开销?

最佳答案

由于条件似乎无关,else if 是一个选项:

if (a) {
    doA();
} else if (b) {
//...
} else if (z) {
    doZ();
}

关于c++ - "Abusing"减少 if 嵌套的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33342997/

相关文章:

使用 Boost Python 的 Python 性能没有 boost

c++ - 如何使用提取运算符从 C++ 中的类的方法中获取多个值?

c++ - 在 RAM 耗尽之前分配虚拟内存

c++ - 简单的 C++ - 有垃圾但功能没问题

C++ try-catch 异常处理约定

c++ - 函数语法引用 - 带和不带 &

c++ - 事件处理器模板 : unresolved external

C++多重定义首先在这里定义

c++ - 如何将turbo c/c++程序连接到数据库

c++ - 重载指针的右值/常量左值