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 ...
Get Practical C++ Programming, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.