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 ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access