In several places, C++ requires you to write one statement. But what if you want to write more than one statement? Then you package those statements into a single compound statement.
Compound statements
|
A compound statement begins with a left brace and ends with a right brace. In between the braces are zero or more statements, one after the other. For example,
{
x = 2;
y = 0;
}
is a compound statement that sets x = 2 and y = 0.
|
Layout
|
Layout refers to issues such as where you break lines and how much you indent lines. Since C++ is free-form, how to lay out a program is up to the programmer. There is a variety of conventions for laying out a compound statement, but the coding standards for this course require you to use a particular style. See below for examples.
|
Each variable has a scope, which is the part of the program where the variable can be used directly, by writing its name.
Any variable that is declared inside a compound statement can only be used from the point where it is declared to the end of the compound statement.
Nested compound statements
|
You can write one compound statement inside another. A variable's scope is limited by the smallest compound statement that contains the variable's declaration. For example, in
{
int r = 0;
{
int s = r + 1;
…
}
int q = 2*r;
}
variable s can only be used inside the
inner compound statement.
|
|
Suppose that compound statement B is inside compound statement A. C++ allows you to declare a variable in B that has the same name as one that is declared in A. For example,
{
int p, q, x = 5;
{
int x = 9;
p = x;
}
q = x;
}
makes p = 9 and q = 5. There are two different
variables, each called x. Statement
p = x; uses the variable x
whose scope is the inner compound statement.
Since that variable does not exist outside of
the inner compound statement, statement
q = x; uses the variable x
declared in the outer compound statement.
As you can see, shadowing can be confusing. The coding standards for this course require you not to use shadowing. |
A compound statement, formed by writing a sequence of zero or more statements inside braces, is treated like a single statement.
Lay out a compound statement by writing the right brace directly beneath the matching left brace. Indent the body of the compound statement from 2 to 4 spaces, so that there are no characters on the vertical line segment between the matching left and right braces.
A variable can only be used inside the smallest compound statement that contains the statement that creates the variable.
Do not use shadowing. For example, do not create a variable called x in a place where there is already a variable called x.
Is the following compound statement laid out correctly according to the standards for this course?
{
r = r + 1;
s = r - 1;
}
Answer
Is the following compound statement laid out correctly according to the standards for this course?
{r = r + 1;
s = r - 1;}
Answer
Is the following compound statement laid out correctly according to the standards for this course?
{
r = r + 1;
s = r - 1;
}
Answer
Is shadowing allowed in C++? Answer
Is shadowing allowed by the coding standards for this course? Answer
Is the following allowed in C++?
int n = 5; int n = 10;Answer