break statement - cppreference.com

##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# break statement

From cppreference.com
< cpp‎ | language

Causes the enclosing for, range-for, while or do-while loop or switch statement to terminate.

Used when it is otherwise awkward to terminate the loop using the condition expression and conditional statements.

### [edit] Syntax

attr(optional) `break` `;` |  |

### [edit] Explanation

After this statement the control is transferred to the statement immediately following the enclosing loop or switch. As with any block exit, all automatic storage objects declared in enclosing compound statement or in the condition of a loop/switch are destroyed, in reverse order of construction, before the execution of the first line following the enclosing loop.

### [edit] Keywords

`break`

### [edit] Notes

A break statement cannot be used to break out of multiple nested loops. The goto statement may be used for this purpose.

### [edit] Example

Run this code

    #include <iostream>

    int main()
    {
        int i = 2;
        switch (i) {
            case 1: std::cout << "1";
            case 2: std::cout << "2";   //execution starts at this case label
            case 3: std::cout << "3";
            case 4:
            case 5: std::cout << "45";
                    break;              //execution of subsequent statements is terminated
            case 6: std::cout << "6";
        }

        std::cout << '\n';

        for (int j = 0; j < 2; j++) {
            for (int k = 0; k < 5; k++) {         //only this loop is affected by break
                if (k == 2) break;
                std::cout << j << k << " ";
            }
        }
    }

Output:

    2345
    00 01 10 11

### [edit] See also

C documentation for break

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/language/break&oldid=81914"