Change links in cppcoreguidelines module from github repository to isocpp.github.io. Unify format.
40 lines
860 B
ReStructuredText
40 lines
860 B
ReStructuredText
.. title:: clang-tidy - cppcoreguidelines-avoid-do-while
|
|
|
|
cppcoreguidelines-avoid-do-while
|
|
================================
|
|
|
|
Warns when using ``do-while`` loops. They are less readable than plain ``while``
|
|
loops, since the termination condition is at the end and the condition is not
|
|
checked prior to the first iteration. This can lead to subtle bugs.
|
|
|
|
This check implements `ES.75
|
|
<https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-do>`_
|
|
from the C++ Core Guidelines.
|
|
|
|
Examples:
|
|
|
|
.. code-block:: c++
|
|
|
|
int x;
|
|
do {
|
|
std::cin >> x;
|
|
// ...
|
|
} while (x < 0);
|
|
|
|
Options
|
|
-------
|
|
|
|
.. option:: IgnoreMacros
|
|
|
|
Ignore the check when analyzing macros. This is useful for safely defining function-like macros:
|
|
|
|
.. code-block:: c++
|
|
|
|
#define FOO_BAR(x) \
|
|
do { \
|
|
foo(x); \
|
|
bar(x); \
|
|
} while(0)
|
|
|
|
Defaults to `false`.
|