Skip to Main Content
Practical C++ Programming, 2nd Edition
book

Practical C++ Programming, 2nd Edition

by Steve Oualline
December 2002
Beginner to intermediate content levelBeginner to intermediate
576 pages
14h 6m
English
O'Reilly Media, Inc.
Content preview from Practical C++ Programming, 2nd Edition

Chapter 29. C++’s Dustier Corners

There be of them that have left a name behind them.

Ecclesiasticus XLIV, 1

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.
Start your free trial

You might also like

Discovering Modern C++, 2nd Edition

Discovering Modern C++, 2nd Edition

Peter Gottschling

Publisher Resources

ISBN: 0596004192Supplemental ContentErrata Page