Rule M3-4-1 (required, implementation, automated)
An identifier declared to be an object or type shall be defined in a block that minimizes its visibility. See MISRA C++ 2008 [7]
## See also
C++ Core Guidelines [11]: ES.21: Don’t introduce a variable (or constant)
before you need to use it.