cppcoreguidelines-avoid-do-while

当使用 do-while 循环时发出警告。它们不如普通的 while 循环易读,因为终止条件在最后,并且在第一次迭代之前不会检查条件。这会导致细微的错误。

此检查实现了 C++ 核心准则中的 ES.75

示例

int x;
do {
    std::cin >> x;
    // ...
} while (x < 0);

选项

IgnoreMacros

在分析宏时忽略检查。这对安全定义函数式宏很有用。

#define FOO_BAR(x) \
do { \
  foo(x); \
  bar(x); \
} while(0)

默认为 false