C++ statements are executed sequentially, except when an expression statement, a selection statement, an iteration statement, or a jump statement specifically modifies that sequence.
statement:
labeled-statement
expression-statement
compound-statement
selection-statement
iteration-statement
jump-statement
declaration-statement
In most cases, the C++ statement syntax is identical to that of ANSI C. The primary difference between the two is that in C, declarations are allowed only at the start of a block; C++ adds the declaration-statement, which effectively removes this restriction. This allows introduction of variables at a point in the program where a precomputed intialization value is present.
Declaring variables inside blocks also allows you to exercise precise control over the scope and lifetime of those variables.