Chapter 29. C++’s Dustier Corners
There be of them that have left a name behind them.
This chapter describes the few remaining features of C++ that are not described in any of the previous chapters. It is titled "C++’s Dustier Corners" because these statements are hardly ever used in real programming.
do/while
The do/while statement has the following syntax:
do {
statement;
statement;
} while (expression); The program loops, tests the expression, and stops if the expression is false (0).
Tip
This construct always executes at least once.
do/while is not frequently used in C++ because most programmers prefer to use a while/break combination.
goto
All the sample programs in this book were coded without using a single goto. In actual practice I find I use a goto statement about once every other year. For those rare times that a goto is necessary, its syntax is:
goto label;where label is a statement label. Statement labels follow the same naming convention as variable names. Labeling a statement is done as follows:
label:statement;
For example:
for (x = 0; x < X_LIMIT; ++x) {
for (y = 0; y < Y_LIMIT; ++y) {
assert((x >= 0) && (x < X_LIMIT));
assert((y >= 0) && (y < Y_LIMIT));
if (data[x][y] == 0)
goto found;
}
}
std::cout << "Not found\n";
exit(8);
found:
std::cout << "Found at (" << x << ',' << y << ")\n";One of the things you don’t want to do is to use a goto statement to skip over initialization code. For example:
{ goto skip_start; { int first = 1; skip_start: printf("First ...